glualint 1.26.0 → 1.27.0
raw patch · 24 files changed
+30156/−31887 lines, 24 filesdep +tasty-hunitdep −uu-parsinglibdep ~basedep ~bytestringPVP ok
version bump matches the API change (PVP)
Dependencies added: tasty-hunit
Dependencies removed: uu-parsinglib
Dependency ranges changed: base, bytestring
API changes (from Hackage documentation)
- GLua.AG.PrettyPrint: renderError :: Error LineColPos -> String
- GLua.AG.PrettyPrint: render_expecting :: [String] -> String
- GLua.AG.Token: Region :: !LineColPos -> !LineColPos -> Region
- GLua.AG.Token: data Region
- GLua.AG.Token: instance GHC.Generics.Generic GLua.AG.Token.Region
- GLua.AG.Token: instance GHC.Show.Show GLua.AG.Token.Region
- GLua.AG.Token: type TokenList = [Token]
- GLua.Lexer: between :: Char -> Char -> Char -> Bool
- GLua.Lexer: lexFromString :: LParser a -> String -> (a, [Error LineColPos])
- GLua.Lexer: parseAnyChar :: LParser Char
- GLua.Lexer: parseBlockComment :: LParser Token
- GLua.Lexer: parseCBlockComment :: LParser String
- GLua.Lexer: parseLineComment :: String -> LParser String
- GLua.Lexer: type LParser a = P (Str Char String LineColPos) a
- GLua.PSLexer: annotated :: (Region -> a -> b) -> Parser a -> Parser b
- GLua.PSLexer: cBetween :: Char -> Char -> Char -> Bool
- GLua.PSLexer: escapedStringChar :: Char -> Parser String
- GLua.PSLexer: execParseTokens :: String -> Either ParseError [MToken]
- GLua.PSLexer: lcp2sp :: LineColPos -> SourcePos
- GLua.PSLexer: nestedString :: String -> Parser String
- GLua.PSLexer: nestedStringToMLString :: String -> String -> Token
- GLua.PSLexer: pIdentifierCharacter :: Parser Char
- GLua.PSLexer: pNonDigitIdentifierCharacter :: Parser Char
- GLua.PSLexer: pPos :: Parser LineColPos
- GLua.PSLexer: pUntilEnd :: Parser String
- GLua.PSLexer: parseCComment :: Parser Token
- GLua.PSLexer: parseComment :: Parser Token
- GLua.PSLexer: parseDots :: Parser Token
- GLua.PSLexer: parseHashBang :: Parser String
- GLua.PSLexer: parseIdentifier :: Parser String
- GLua.PSLexer: parseKeyword :: Token -> String -> Parser Token
- GLua.PSLexer: parseLabel :: Parser Token
- GLua.PSLexer: parseLineString :: Char -> Parser String
- GLua.PSLexer: parseLuaComment :: Parser Token
- GLua.PSLexer: parseMToken :: Parser MToken
- GLua.PSLexer: parseNumber :: Parser Token
- GLua.PSLexer: parseNumberSuffix :: Parser String
- GLua.PSLexer: parseOptionalWhitespace :: Parser String
- GLua.PSLexer: parseString :: Parser Token
- GLua.PSLexer: parseToken :: Parser Token
- GLua.PSLexer: parseTokens :: Parser [MToken]
- GLua.PSLexer: parseWhitespace :: Parser String
- GLua.PSLexer: rgEnd2sp :: Region -> SourcePos
- GLua.PSLexer: rgStart2sp :: Region -> SourcePos
- GLua.PSLexer: sp2Rg :: SourcePos -> Region
- GLua.PSLexer: sp2lcp :: SourcePos -> LineColPos
- GLua.PSLexer: startNestedString :: Parser String
- GLua.PSParser: annotated :: (Region -> a -> b) -> AParser a -> AParser b
- GLua.PSParser: execAParser :: SourceName -> AParser a -> [MToken] -> Either ParseError a
- GLua.PSParser: lcp2sp :: LineColPos -> SourcePos
- GLua.PSParser: lvl1 :: [(Token, BinOp)]
- GLua.PSParser: lvl2 :: [(Token, BinOp)]
- GLua.PSParser: lvl3 :: [(Token, BinOp)]
- GLua.PSParser: lvl4 :: [(Token, BinOp)]
- GLua.PSParser: lvl5 :: [(Token, BinOp)]
- GLua.PSParser: lvl6 :: [(Token, BinOp)]
- GLua.PSParser: lvl8 :: [(Token, BinOp)]
- GLua.PSParser: pEndPos :: AParser LineColPos
- GLua.PSParser: pFunctionCall :: AParser PrefixExp
- GLua.PSParser: pInterleaved :: AParser a -> AParser b -> AParser [b]
- GLua.PSParser: pMSatisfy :: (MToken -> Bool) -> AParser MToken
- GLua.PSParser: pMTok :: Token -> AParser MToken
- GLua.PSParser: pMToken :: forall a. (MToken -> Maybe a) -> AParser a
- GLua.PSParser: pName :: AParser MToken
- GLua.PSParser: pPFExprCallSuffix :: AParser PFExprSuffix
- GLua.PSParser: pPFExprIndexSuffix :: AParser PFExprSuffix
- GLua.PSParser: pPFExprSuffix :: AParser PFExprSuffix
- GLua.PSParser: pPos :: AParser LineColPos
- GLua.PSParser: pPrefixExp :: AParser [PFExprSuffix] -> AParser PrefixExp
- GLua.PSParser: parseAnonymFunc :: AParser Expr
- GLua.PSParser: parseArgs :: AParser Args
- GLua.PSParser: parseBinOp :: AParser BinOp
- GLua.PSParser: parseBlock :: AParser Block
- GLua.PSParser: parseChunk :: [MToken] -> AParser AST
- GLua.PSParser: parseDefinition :: AParser Stat
- GLua.PSParser: parseExpression :: AParser MExpr
- GLua.PSParser: parseExpressionList :: AParser [MExpr]
- GLua.PSParser: parseField :: AParser (FieldSep -> Field)
- GLua.PSParser: parseFieldList :: AParser [Field]
- GLua.PSParser: parseFieldSep :: AParser FieldSep
- GLua.PSParser: parseFor :: AParser Stat
- GLua.PSParser: parseFromString :: AParser a -> String -> Either ParseError a
- GLua.PSParser: parseFuncName :: AParser FuncName
- GLua.PSParser: parseFunction :: AParser Stat
- GLua.PSParser: parseGFor :: AParser Stat
- GLua.PSParser: parseGLua :: [MToken] -> Either ParseError AST
- GLua.PSParser: parseGLuaFromString :: String -> Either ParseError AST
- GLua.PSParser: parseIf :: AParser Stat
- GLua.PSParser: parseLabel :: AParser MToken
- GLua.PSParser: parseLocFuncName :: AParser FuncName
- GLua.PSParser: parseLocalDefinition :: AParser Stat
- GLua.PSParser: parseLocalFunction :: AParser Stat
- GLua.PSParser: parseLocalVarList :: AParser [PrefixExp]
- GLua.PSParser: parseMStat :: AParser MStat
- GLua.PSParser: parseNFor :: AParser Stat
- GLua.PSParser: parseNameList :: AParser [MToken]
- GLua.PSParser: parseNamedField :: AParser (FieldSep -> Field)
- GLua.PSParser: parseNumber :: AParser Expr
- GLua.PSParser: parseOptionalFieldSep :: AParser FieldSep
- GLua.PSParser: parseParList :: AParser [MToken]
- GLua.PSParser: parsePrefixExp :: AParser PrefixExp
- GLua.PSParser: parseReturn :: AParser AReturn
- GLua.PSParser: parseStat :: AParser Stat
- GLua.PSParser: parseString :: AParser MToken
- GLua.PSParser: parseSubExpression :: AParser Expr
- GLua.PSParser: parseTableConstructor :: AParser [Field]
- GLua.PSParser: parseUnOp :: AParser UnOp
- GLua.PSParser: parseVar :: AParser PrefixExp
- GLua.PSParser: parseVarList :: AParser [PrefixExp]
- GLua.PSParser: rgEnd2sp :: Region -> SourcePos
- GLua.PSParser: rgStart2sp :: Region -> SourcePos
- GLua.PSParser: samePrioL :: [(Token, BinOp)] -> AParser MExpr -> AParser MExpr
- GLua.PSParser: samePrioR :: [(Token, BinOp)] -> AParser MExpr -> AParser MExpr
- GLua.PSParser: sp2Rg :: SourcePos -> Region
- GLua.PSParser: sp2lcp :: SourcePos -> LineColPos
- GLua.PSParser: type AParser = Parsec [MToken] LineColPos
- GLua.PSParser: updatePosMToken :: SourcePos -> MToken -> [MToken] -> SourcePos
- GLua.Parser: MTokenPos :: MToken -> Region -> MTokenPos
- GLua.Parser: RegionProgression :: Region -> Region -> RegionProgression
- GLua.Parser: [lastRegion] :: RegionProgression -> Region
- GLua.Parser: [nextRegion] :: RegionProgression -> Region
- GLua.Parser: createString :: [MToken] -> Str MTokenPos [MTokenPos] RegionProgression
- GLua.Parser: data MTokenPos
- GLua.Parser: data RegionProgression
- GLua.Parser: emptyRgPrgs :: RegionProgression
- GLua.Parser: errorToRegion :: Error RegionProgression -> Error Region
- GLua.Parser: instance GHC.Show.Show GLua.Parser.MTokenPos
- GLua.Parser: instance GHC.Show.Show GLua.Parser.RegionProgression
- GLua.Parser: instance Text.ParserCombinators.UU.Core.IsLocationUpdatedBy GLua.Parser.RegionProgression GLua.Parser.MTokenPos
- GLua.Parser: makeUnNamedField :: Maybe (BinOp, MExpr) -> ExprSuffixList -> (Region, MToken) -> FieldSep -> Field
- GLua.Parser: pPos' :: AParser Region
- GLua.Parser: parseCallDef :: AParser Stat
- GLua.Parser: parseFromString :: AParser a -> String -> (a, [Error Region])
- GLua.Parser: resultsToRegion :: (a, [Error RegionProgression]) -> (a, [Error Region])
- GLua.TokenTypes: before :: Region -> Region -> Bool
- GLua.TokenTypes: beforeEnd :: Region -> Region -> Bool
- GLua.TokenTypes: beforeEndLine :: Region -> Region -> Bool
- GLua.TokenTypes: beforeOrOnLine :: Region -> Region -> Bool
- GLua.TokenTypes: emptyRg :: Region
- GLua.TokenTypes: foldMToken :: MTokenAlgebra t -> MToken -> t
- GLua.TokenTypes: foldToken :: TokenAlgebra t -> Token -> t
- GLua.TokenTypes: instance Data.Aeson.Types.FromJSON.FromJSON GLua.AG.Token.Region
- GLua.TokenTypes: instance Data.Aeson.Types.FromJSON.FromJSON Text.ParserCombinators.UU.BasicInstances.LineColPos
- GLua.TokenTypes: instance Data.Aeson.Types.ToJSON.ToJSON GLua.AG.Token.Region
- GLua.TokenTypes: instance Data.Aeson.Types.ToJSON.ToJSON Text.ParserCombinators.UU.BasicInstances.LineColPos
- GLua.TokenTypes: instance GHC.Classes.Eq GLua.AG.Token.Region
- GLua.TokenTypes: instance GHC.Classes.Eq Text.ParserCombinators.UU.BasicInstances.LineColPos
- GLua.TokenTypes: instance GHC.Classes.Ord GLua.AG.Token.Region
- GLua.TokenTypes: instance GHC.Classes.Ord Text.ParserCombinators.UU.BasicInstances.LineColPos
- GLua.TokenTypes: isSingleLineComment :: Token -> Bool
- GLua.TokenTypes: mFold :: TokenAlgebra a -> MToken -> a
- GLua.TokenTypes: rgEnd :: Region -> LineColPos
- GLua.TokenTypes: rgOr :: Region -> Region -> Region
- GLua.TokenTypes: rgStart :: Region -> LineColPos
- GLua.TokenTypes: type MTokenAlgebra mtok = Region -> Token -> mtok
- GLua.TokenTypes: type TokenAlgebra token = ((String -> token, String -> token, Int -> String -> token, String -> token, String -> token, token), (String -> token, String -> token, String -> token, String -> token, token, token, token, token), (token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token), (token, token, token, token, token, token, token, token, token, token, token, token, token, token, token, token), (token, token, token, token, token, token), (String -> String -> String -> token, String -> token))
- GLua.TokenTypes: upto :: Region -> Region -> Region
- GLuaFixer.AG.ASTLint: Inh_Region :: Inh_Region
- GLuaFixer.AG.ASTLint: Inh_TokenList :: Inh_TokenList
- GLuaFixer.AG.ASTLint: Syn_Region :: Region -> String -> [String -> LintMessage] -> Syn_Region
- GLuaFixer.AG.ASTLint: Syn_TokenList :: TokenList -> String -> [String -> LintMessage] -> Syn_TokenList
- GLuaFixer.AG.ASTLint: [copy_Syn_Region] :: Syn_Region -> Region
- GLuaFixer.AG.ASTLint: [copy_Syn_TokenList] :: Syn_TokenList -> TokenList
- GLuaFixer.AG.ASTLint: [identifier_Syn_Region] :: Syn_Region -> String
- GLuaFixer.AG.ASTLint: [identifier_Syn_TokenList] :: Syn_TokenList -> String
- GLuaFixer.AG.ASTLint: [warnings_Syn_Region] :: Syn_Region -> [String -> LintMessage]
- GLuaFixer.AG.ASTLint: [warnings_Syn_TokenList] :: Syn_TokenList -> [String -> LintMessage]
- GLuaFixer.AG.ASTLint: data Inh_Region
- GLuaFixer.AG.ASTLint: data Inh_TokenList
- GLuaFixer.AG.ASTLint: data Syn_Region
- GLuaFixer.AG.ASTLint: data Syn_TokenList
- GLuaFixer.AG.ASTLint: sem_Region :: Region -> T_Region
- GLuaFixer.AG.ASTLint: sem_Region_Region :: LineColPos -> LineColPos -> T_Region
- GLuaFixer.AG.ASTLint: sem_TokenList :: TokenList -> T_TokenList
- GLuaFixer.AG.ASTLint: sem_TokenList_Cons :: T_Token -> T_TokenList -> T_TokenList
- GLuaFixer.AG.ASTLint: sem_TokenList_Nil :: T_TokenList
- GLuaFixer.AG.ASTLint: type T_Region = (Region, String, ([String -> LintMessage]))
- GLuaFixer.AG.ASTLint: type T_TokenList = (TokenList, String, ([String -> LintMessage]))
- GLuaFixer.AG.ASTLint: wrap_Region :: T_Region -> Inh_Region -> Syn_Region
- GLuaFixer.AG.ASTLint: wrap_TokenList :: T_TokenList -> Inh_TokenList -> Syn_TokenList
- GLuaFixer.Interface: lexUU :: LintSettings -> String -> ([MToken], [Error LineColPos])
- GLuaFixer.Interface: parseUU :: [MToken] -> (AST, [Error Region])
- GLuaFixer.LintSettings: [prettyprint_rejectInvalidCode] :: LintSettings -> !Bool
+ GLua.Lexer: cBetween :: Char -> Char -> Char -> Bool
+ GLua.Lexer: escapedStringChar :: Char -> Parser String
+ GLua.Lexer: lcp2sp :: LineColPos -> SourcePos
+ GLua.Lexer: nestedStringToMLString :: String -> String -> Token
+ GLua.Lexer: pPos :: Parser LineColPos
+ GLua.Lexer: parseCComment :: Parser Token
+ GLua.Lexer: parseLuaComment :: Parser Token
+ GLua.Lexer: rgEnd2sp :: Region -> SourcePos
+ GLua.Lexer: rgStart2sp :: Region -> SourcePos
+ GLua.Lexer: sp2Rg :: SourcePos -> Region
+ GLua.Lexer: sp2lcp :: SourcePos -> LineColPos
+ GLua.Lexer: startNestedString :: Parser String
+ GLua.Parser: lcp2sp :: LineColPos -> SourcePos
+ GLua.Parser: pEndPos :: AParser LineColPos
+ GLua.Parser: pMToken :: forall a. (MToken -> Maybe a) -> AParser a
+ GLua.Parser: pPos :: AParser LineColPos
+ GLua.Parser: parseDefinition :: AParser Stat
+ GLua.Parser: parseFunction :: AParser Stat
+ GLua.Parser: parseGFor :: AParser Stat
+ GLua.Parser: parseLocalDefinition :: AParser Stat
+ GLua.Parser: parseLocalFunction :: AParser Stat
+ GLua.Parser: parseNFor :: AParser Stat
+ GLua.Parser: parseNamedField :: AParser (FieldSep -> Field)
+ GLua.Parser: parseOptionalFieldSep :: AParser FieldSep
+ GLua.Parser: rgEnd2sp :: Region -> SourcePos
+ GLua.Parser: rgStart2sp :: Region -> SourcePos
+ GLua.Parser: sp2Rg :: SourcePos -> Region
+ GLua.Parser: sp2lcp :: SourcePos -> LineColPos
+ GLua.Parser: updatePosMToken :: SourcePos -> MToken -> [MToken] -> SourcePos
+ GLua.Position: LineColPos :: !Int -> !Int -> !Int -> LineColPos
+ GLua.Position: Region :: !LineColPos -> !LineColPos -> Region
+ GLua.Position: [lcpColumn] :: LineColPos -> !Int
+ GLua.Position: [lcpLine] :: LineColPos -> !Int
+ GLua.Position: [lcpPos] :: LineColPos -> !Int
+ GLua.Position: [rgEnd] :: Region -> !LineColPos
+ GLua.Position: [rgStart] :: Region -> !LineColPos
+ GLua.Position: before :: Region -> Region -> Bool
+ GLua.Position: beforeEnd :: Region -> Region -> Bool
+ GLua.Position: beforeEndLine :: Region -> Region -> Bool
+ GLua.Position: beforeOrOnLine :: Region -> Region -> Bool
+ GLua.Position: data LineColPos
+ GLua.Position: data Region
+ GLua.Position: emptyRg :: Region
+ GLua.Position: instance Data.Aeson.Types.FromJSON.FromJSON GLua.Position.LineColPos
+ GLua.Position: instance Data.Aeson.Types.FromJSON.FromJSON GLua.Position.Region
+ GLua.Position: instance Data.Aeson.Types.ToJSON.ToJSON GLua.Position.LineColPos
+ GLua.Position: instance Data.Aeson.Types.ToJSON.ToJSON GLua.Position.Region
+ GLua.Position: instance GHC.Classes.Eq GLua.Position.LineColPos
+ GLua.Position: instance GHC.Classes.Eq GLua.Position.Region
+ GLua.Position: instance GHC.Classes.Ord GLua.Position.LineColPos
+ GLua.Position: instance GHC.Classes.Ord GLua.Position.Region
+ GLua.Position: instance GHC.Generics.Generic GLua.Position.Region
+ GLua.Position: instance GHC.Show.Show GLua.Position.LineColPos
+ GLua.Position: instance GHC.Show.Show GLua.Position.Region
+ GLua.Position: rgOr :: Region -> Region -> Region
+ GLua.Position: upto :: Region -> Region -> Region
+ GLua.TokenTypes: mapMtok :: (Token -> a) -> MToken -> a
- GLua.AG.AST: Block :: MStatList -> AReturn -> Block
+ GLua.AG.AST: Block :: Region -> MStatList -> AReturn -> Block
- GLua.AG.PrettyPrint: sem_Block_Block :: T_MStatList -> T_AReturn -> T_Block
+ GLua.AG.PrettyPrint: sem_Block_Block :: Region -> T_MStatList -> T_AReturn -> T_Block
- GLua.Lexer: annotated :: (Region -> a -> b) -> LParser a -> LParser b
+ GLua.Lexer: annotated :: (Region -> a -> b) -> Parser a -> Parser b
- GLua.Lexer: execParseTokens :: String -> ([MToken], [Error LineColPos])
+ GLua.Lexer: execParseTokens :: String -> Either ParseError [MToken]
- GLua.Lexer: nestedString :: LParser String
+ GLua.Lexer: nestedString :: String -> Parser String
- GLua.Lexer: pIdentifierCharacter :: LParser Char
+ GLua.Lexer: pIdentifierCharacter :: Parser Char
- GLua.Lexer: pNonDigitIdentifierCharacter :: LParser Char
+ GLua.Lexer: pNonDigitIdentifierCharacter :: Parser Char
- GLua.Lexer: pUntilEnd :: LParser String
+ GLua.Lexer: pUntilEnd :: Parser String
- GLua.Lexer: parseComment :: LParser Token
+ GLua.Lexer: parseComment :: Parser Token
- GLua.Lexer: parseDots :: LParser Token
+ GLua.Lexer: parseDots :: Parser Token
- GLua.Lexer: parseHashBang :: LParser String
+ GLua.Lexer: parseHashBang :: Parser String
- GLua.Lexer: parseIdentifier :: LParser String
+ GLua.Lexer: parseIdentifier :: Parser String
- GLua.Lexer: parseKeyword :: Token -> String -> LParser Token
+ GLua.Lexer: parseKeyword :: Token -> String -> Parser Token
- GLua.Lexer: parseLabel :: LParser Token
+ GLua.Lexer: parseLabel :: Parser Token
- GLua.Lexer: parseLineString :: Char -> LParser String
+ GLua.Lexer: parseLineString :: Char -> Parser String
- GLua.Lexer: parseMToken :: LParser MToken
+ GLua.Lexer: parseMToken :: Parser MToken
- GLua.Lexer: parseNumber :: LParser Token
+ GLua.Lexer: parseNumber :: Parser Token
- GLua.Lexer: parseNumberSuffix :: LParser String
+ GLua.Lexer: parseNumberSuffix :: Parser String
- GLua.Lexer: parseOptionalWhitespace :: LParser String
+ GLua.Lexer: parseOptionalWhitespace :: Parser String
- GLua.Lexer: parseString :: LParser Token
+ GLua.Lexer: parseString :: Parser Token
- GLua.Lexer: parseToken :: LParser Token
+ GLua.Lexer: parseToken :: Parser Token
- GLua.Lexer: parseTokens :: LParser [MToken]
+ GLua.Lexer: parseTokens :: Parser [MToken]
- GLua.Lexer: parseWhitespace :: LParser String
+ GLua.Lexer: parseWhitespace :: Parser String
- GLua.Parser: execAParser :: AParser a -> [MToken] -> (a, [Error RegionProgression])
+ GLua.Parser: execAParser :: SourceName -> AParser a -> [MToken] -> Either ParseError a
- GLua.Parser: pMSatisfy :: (MToken -> Bool) -> Token -> String -> AParser MToken
+ GLua.Parser: pMSatisfy :: (MToken -> Bool) -> AParser MToken
- GLua.Parser: parseGLua :: [MToken] -> (AST, [Error Region])
+ GLua.Parser: parseGLua :: [MToken] -> Either ParseError AST
- GLua.Parser: parseGLuaFromString :: String -> (AST, [Error Region])
+ GLua.Parser: parseGLuaFromString :: String -> Either ParseError AST
- GLua.Parser: type AParser a = P (Str MTokenPos [MTokenPos] RegionProgression) a
+ GLua.Parser: type AParser = Parsec [MToken] LineColPos
- GLuaFixer.AG.ASTLint: sem_AReturn_AReturn :: T_Region -> T_MExprList -> T_AReturn
+ GLuaFixer.AG.ASTLint: sem_AReturn_AReturn :: Region -> T_MExprList -> T_AReturn
- GLuaFixer.AG.ASTLint: sem_Block_Block :: T_MStatList -> T_AReturn -> T_Block
+ GLuaFixer.AG.ASTLint: sem_Block_Block :: Region -> T_MStatList -> T_AReturn -> T_Block
- GLuaFixer.AG.ASTLint: sem_MElseIf_MElseIf :: T_Region -> T_ElseIf -> T_MElseIf
+ GLuaFixer.AG.ASTLint: sem_MElseIf_MElseIf :: Region -> T_ElseIf -> T_MElseIf
- GLuaFixer.AG.ASTLint: sem_MElse_MElse :: T_Region -> T_Block -> T_MElse
+ GLuaFixer.AG.ASTLint: sem_MElse_MElse :: Region -> T_Block -> T_MElse
- GLuaFixer.AG.ASTLint: sem_MExpr_MExpr :: T_Region -> T_Expr -> T_MExpr
+ GLuaFixer.AG.ASTLint: sem_MExpr_MExpr :: Region -> T_Expr -> T_MExpr
- GLuaFixer.AG.ASTLint: sem_MStat_MStat :: T_Region -> T_Stat -> T_MStat
+ GLuaFixer.AG.ASTLint: sem_MStat_MStat :: Region -> T_Stat -> T_MStat
- GLuaFixer.AG.ASTLint: sem_MToken_MToken :: T_Region -> T_Token -> T_MToken
+ GLuaFixer.AG.ASTLint: sem_MToken_MToken :: Region -> T_Token -> T_MToken
- GLuaFixer.LintSettings: LintSettings :: !Int -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Int -> ![String] -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !String -> !LogFormatChoice -> LintSettings
+ GLuaFixer.LintSettings: LintSettings :: !Int -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Int -> ![String] -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !Bool -> !String -> !LogFormatChoice -> LintSettings
Files
- README.md +0/−2
- app/GLuaFixer/Effects/AnalyseGlobals.hs +1/−1
- app/GLuaFixer/Effects/Run.hs +13/−40
- glualint.cabal +23/−12
- src/GLua/AG/AST.hs +88/−122
- src/GLua/AG/PrettyPrint.hs +8726/−7288
- src/GLua/AG/Token.hs +68/−77
- src/GLua/Lexer.hs +263/−349
- src/GLua/LineLimitParser.hs +2/−2
- src/GLua/PSLexer.hs +0/−350
- src/GLua/PSParser.hs +0/−603
- src/GLua/Parser.hs +367/−421
- src/GLua/Position.hs +83/−0
- src/GLua/TokenTypes.hs +151/−405
- src/GLuaFixer/AG/ASTLint.hs +14147/−15302
- src/GLuaFixer/AG/LexLint.hs +6120/−6871
- src/GLuaFixer/BadSequenceFinder.hs +4/−3
- src/GLuaFixer/Interface.hs +7/−23
- src/GLuaFixer/LintMessage.hs +3/−4
- src/GLuaFixer/LintSettings.hs +0/−4
- tests/golden/data/input/various-comments.lua +2/−0
- tests/golden/data/output/issue-106.lua +3/−1
- tests/golden/data/output/various-comments.lua +14/−7
- tests/linttest/Spec.hs +71/−0
README.md view
@@ -79,7 +79,6 @@ "prettyprint_removeRedundantParens": true, "prettyprint_minimizeParens": false, "prettyprint_assumeOperatorAssociativity": true,- "prettyprint_rejectInvalidCode": false, "prettyprint_indentation": " ", "log_format": "auto"@@ -140,7 +139,6 @@ `prettyprint_removeRedundantParens` | Whether to remove unnecessary parentheses (e.g. `x = (1 + 2)`, `if ((1) + (2) == 3) then`) `prettyprint_minimizeParens` | Removes parentheses which are unnecessary due to operator precedence (e.g. `(1 * 2) + 3`). This option also removes redundant parameters, regardless of whether `prettyprint_removeRedundantParens` is enabled. `prettyprint_assumeOperatorAssociativity` | Only takes effect when `prettyprint_minimizeParens` is `true`. It decides whether parameters can be removed when the involved operators are assumed associative. Examples: `a * (b * c)`, `a and (b and c)`. This assumption is generally true, except for floating point numbers, where removing parentheses can actually change the outcome of the calculation. See [Stack Overflow](https://stackoverflow.com/a/10371890). This option is set to `true` by default, because the expectation is that this will not be problematic even if it affects your code. In a very rare case, this might cause trouble, though. You might want to consider turning this off if you have floating point code that heavily relies on evaluation order. You may also choose to leave this option on and ensure evaluation order by explicitly setting variables.-`prettyprint_rejectInvalidCode` | Whether not to pretty print when the code is syntactically invalid ### Other options
app/GLuaFixer/Effects/AnalyseGlobals.hs view
@@ -16,7 +16,7 @@ import GHC.Exts (sortWith) import GLua.AG.AST (AST) import GLua.AG.PrettyPrint (renderRegion)-import GLua.AG.Token (Region)+import GLua.Position (Region) import GLuaFixer.AG.ASTLint (globalDefinitions) import GLuaFixer.Effects.Logging (Logging, putStrLnStdOut) import GLuaFixer.LintSettings (LintSettings)
app/GLuaFixer/Effects/Run.hs view
@@ -10,7 +10,7 @@ module GLuaFixer.Effects.Run where -import Control.Monad (unless, when)+import Control.Monad (when) import qualified Data.Aeson as JSON import qualified Data.ByteString.Lazy.Char8 as BL8 import Effectful (Eff, (:>))@@ -19,8 +19,7 @@ import GLua.AG.AST (AST) import GLua.AG.Token (MToken) import GLua.ASTInstances ()-import qualified GLua.PSParser as PSP-import qualified GLua.Parser as UUP+import qualified GLua.Parser as Parser import GLuaFixer.Cli (Command (..), Options (..), OverriddenSettings, SettingsPath) import GLuaFixer.Effects.AnalyseGlobals (analyseFile, execAnalysis, reportAnalysis) import GLuaFixer.Effects.Cli (Cli, CliParseResult (..), parseCliOptions)@@ -97,7 +96,7 @@ worstExitCode exitCode <$> lint lintSettings filepath contents (PrettyPrint, UseStdIn) -> do (lintSettings, contents) <- getStdIn options.optsConfigFile options.optsOverridden- case prettyprint lintSettings contents of+ case prettyprint lintSettings "stdin" contents of Nothing -> pure $ ExitFailure 1 Just prettyprinted -> do putStrStdOut prettyprinted@@ -110,7 +109,7 @@ files $ \exitCode lintSettings filepath contents -> do putStrLnStdOut $ "Pretty printing " <> filepath- case prettyprint lintSettings contents of+ case prettyprint lintSettings filepath contents of Nothing -> pure $ ExitFailure 1 Just prettyprinted -> do writeFile filepath prettyprinted@@ -256,16 +255,15 @@ -- | Pretty print a file prettyprint :: LintSettings+ -> FilePath -> String -> Maybe String-prettyprint lintSettings contents = do- if lintSettings.prettyprint_rejectInvalidCode && hasErrors- then Nothing- else Just $ Interface.prettyprint lintSettings ast+prettyprint lintSettings filepath contents =+ case eAst of+ Left _errors -> Nothing+ Right ast -> Just $ Interface.prettyprint lintSettings ast where- (tokens, lexErrors) = Interface.lexUU lintSettings contents- (ast, parseErrors) = Interface.parseUU tokens- hasErrors = not (null lexErrors) || not (null parseErrors)+ eAst = Interface.lex lintSettings filepath contents >>= Interface.parse lintSettings filepath -- | Test glualint itself against a file. TODO: Refactor this into a nicer command test@@ -277,24 +275,7 @@ -> Eff es ExitCode test exitCode lintSettings filepath contents = do putStrLnStdOut $ "Testing " <> filepath- let- (uu_lex, uu_lex_errors) = Interface.lexUU lintSettings contents- (_uu_ast, uu_parseErrs) = Interface.parseUU uu_lex - unless (null uu_lex_errors) $ do- putStrLnStdOut $- "Errors when trying to lex '"- ++ filepath- ++ "' with uu-parsinglib lexer!"- mapM_ (putStrLnStdOut . show) uu_lex_errors-- unless (null uu_parseErrs) $ do- putStrLnStdOut $- "Errors when trying to parse '"- ++ filepath- ++ "' with uu-parsinglib parser!"- mapM_ (putStrLnStdOut . show) uu_parseErrs- logFormat <- getLogFormat lintSettings.log_format case Interface.lex lintSettings filepath contents of@@ -305,25 +286,17 @@ case Interface.parse lintSettings filepath tokens of Left msgs -> do putStrLnStdOut $- "Errors when trying to parse '" ++ filepath ++ "' with parsec parser!"+ "Errors when trying to parse '" ++ filepath mapM_ (emitLintMessage logFormat) msgs pure $ ExitFailure 1 Right ast -> do let prettyprinted = Interface.prettyprint lintSettings ast- (_uu_ast_pp, uu_parseErrs_pp) = UUP.parseGLuaFromString prettyprinted - unless (null uu_parseErrs_pp) $ do- putStrLnStdOut $- "Errors when trying to parse '"- ++ filepath- ++ "' with uu-parsinglib parser after pretty print!"- mapM_ (putStrLnStdOut . show) uu_parseErrs_pp-- case PSP.parseGLuaFromString prettyprinted of+ case Parser.parseGLuaFromString prettyprinted of Left err -> do putStrLnStdOut $- "Errors when trying to parse '" ++ filepath ++ "' with parsec parser after pretty print!"+ "Errors when trying to parse '" ++ filepath ++ "' after pretty print!" putStrLnStdOut $ show err pure $ ExitFailure 1
glualint.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: glualint-version: 1.26.0+version: 1.27.0 synopsis: Attempts to fix your syntax erroring Lua files. description: Linter for Lua, specifically the variant used in Garry's mod.@@ -26,15 +26,14 @@ library default-language: Haskell2010 build-depends:- , aeson >=2 && <3- , base >=4.5 && <5- , bytestring >=0.11 && <1- , containers >=0.6 && <1- , parsec >=3 && <4- , pretty >=1.1 && <1.2- , uu-parsinglib >=2.8 && <3- , uuagc >=0.9.40.3 && <0.10- , uuagc-cabal >=1.0.3.0 && <2+ , aeson >=2 && <3+ , base >=4.5 && <5+ , bytestring >=0.11 && <1+ , containers >=0.6 && <1+ , parsec >=3 && <4+ , pretty >=1.1 && <1.2+ , uuagc >=0.9.40.3 && <0.10+ , uuagc-cabal >=1.0.3.0 && <2 hs-source-dirs: src exposed-modules:@@ -45,8 +44,7 @@ GLua.Lexer GLua.LineLimitParser GLua.Parser- GLua.PSLexer- GLua.PSParser+ GLua.Position GLua.TokenTypes GLuaFixer.AG.ASTLint GLuaFixer.AG.LexLint@@ -76,6 +74,19 @@ , glualint , tasty >=1.4 && <2 , tasty-golden >=2.3 && <2.4++ default-language: Haskell2010++test-suite linttest+ type: exitcode-stdio-1.0+ main-is: Spec.hs+ hs-source-dirs: tests/linttest+ build-depends:+ , base+ , bytestring+ , glualint+ , tasty >=1.4 && <2+ , tasty-hunit >=0.10 && <0.12 default-language: Haskell2010
src/GLua/AG/AST.hs view
@@ -1,171 +1,137 @@++ {-# LANGUAGE DeriveGeneric #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}---- UUAGC 0.9.55 (src/GLua/AG/AST.ag)+-- UUAGC 0.9.53.1 (src/GLua/AG/AST.ag) module GLua.AG.AST where {-# LINE 10 "src/GLua/AG/AST.ag" #-} -import Data.Aeson-import GHC.Generics import GLua.AG.Token+import GLua.Position import GLua.TokenTypes ()-{-# LINE 15 "src/GLua/AG/AST.hs" #-}+import GHC.Generics+import Data.Aeson+{-# LINE 16 "src/GLua/AG/AST.hs" #-} -- AReturn ------------------------------------------------------data AReturn- = AReturn (Region) (MExprList)- | NoReturn- deriving (Generic, Show)-+data AReturn = AReturn (Region) (MExprList)+ | NoReturn+ deriving ( Generic,Show) -- AST --------------------------------------------------------- data AST = AST (([MToken])) (Block)- deriving (Generic, Show)-+ deriving ( Generic,Show) -- Args ---------------------------------------------------------data Args- = ListArgs (MExprList)- | TableArg (FieldList)- | StringArg (MToken)- deriving (Generic, Show)-+data Args = ListArgs (MExprList)+ | TableArg (FieldList)+ | StringArg (MToken)+ deriving ( Generic,Show) -- BinOp --------------------------------------------------------data BinOp- = AOr- | AAnd- | ALT- | AGT- | ALEQ- | AGEQ- | ANEq- | AEq- | AConcatenate- | APlus- | BinMinus- | AMultiply- | ADivide- | AModulus- | APower- deriving (Eq, Generic, Ord, Show)-+data BinOp = AOr+ | AAnd+ | ALT+ | AGT+ | ALEQ+ | AGEQ+ | ANEq+ | AEq+ | AConcatenate+ | APlus+ | BinMinus+ | AMultiply+ | ADivide+ | AModulus+ | APower+ deriving ( Eq,Generic,Ord,Show) -- Block --------------------------------------------------------data Block = Block (MStatList) (AReturn)- deriving (Generic, Show)-+data Block = Block (Region) (MStatList) (AReturn)+ deriving ( Generic,Show) -- Declaration --------------------------------------------------type Declaration = (PrefixExp, MaybeMExpr)-+type Declaration = ( PrefixExp,MaybeMExpr) -- Else -------------------------------------------------------- type Else = Maybe (MElse)- -- ElseIf -------------------------------------------------------type ElseIf = (MExpr, Block)-+type ElseIf = ( MExpr,Block) -- ElseIfList -------------------------------------------------- type ElseIfList = [MElseIf]- -- Expr ---------------------------------------------------------data Expr- = ANil- | AFalse- | ATrue- | ANumber (String)- | AString (MToken)- | AVarArg- | AnonymousFunc (([MToken])) (Block)- | APrefixExpr (PrefixExp)- | ATableConstructor (FieldList)- | BinOpExpr (BinOp) (MExpr) (MExpr)- | UnOpExpr (UnOp) (MExpr)- deriving (Generic, Show)-+data Expr = ANil+ | AFalse+ | ATrue+ | ANumber (String)+ | AString (MToken)+ | AVarArg+ | AnonymousFunc (([MToken])) (Block)+ | APrefixExpr (PrefixExp)+ | ATableConstructor (FieldList)+ | BinOpExpr (BinOp) (MExpr) (MExpr)+ | UnOpExpr (UnOp) (MExpr)+ deriving ( Generic,Show) -- ExprSuffixList ---------------------------------------------- type ExprSuffixList = [PFExprSuffix]- -- Field --------------------------------------------------------data Field- = ExprField (MExpr) (MExpr) (FieldSep)- | NamedField (MToken) (MExpr) (FieldSep)- | UnnamedField (MExpr) (FieldSep)- deriving (Generic, Show)-+data Field = ExprField (MExpr) (MExpr) (FieldSep)+ | NamedField (MToken) (MExpr) (FieldSep)+ | UnnamedField (MExpr) (FieldSep)+ deriving ( Generic,Show) -- FieldList --------------------------------------------------- type FieldList = [Field]- -- FieldSep -----------------------------------------------------data FieldSep- = CommaSep- | SemicolonSep- | NoSep- deriving (Eq, Generic, Show)-+data FieldSep = CommaSep+ | SemicolonSep+ | NoSep+ deriving ( Eq,Generic,Show) -- FuncName ---------------------------------------------------- data FuncName = FuncName (([MToken])) ((Maybe MToken))- deriving (Generic, Show)-+ deriving ( Generic,Show) -- MElse ------------------------------------------------------- data MElse = MElse (Region) (Block)- deriving (Generic, Show)-+ deriving ( Generic,Show) -- MElseIf ----------------------------------------------------- data MElseIf = MElseIf (Region) (ElseIf)- deriving (Generic, Show)-+ deriving ( Generic,Show) -- MExpr ------------------------------------------------------- data MExpr = MExpr (Region) (Expr)- deriving (Generic, Show)-+ deriving ( Generic,Show) -- MExprList --------------------------------------------------- type MExprList = [MExpr]- -- MStat ------------------------------------------------------- data MStat = MStat (Region) (Stat)- deriving (Generic, Show)-+ deriving ( Generic,Show) -- MStatList --------------------------------------------------- type MStatList = [MStat]- -- MaybeMExpr -------------------------------------------------- type MaybeMExpr = Maybe (MExpr)- -- PFExprSuffix -------------------------------------------------data PFExprSuffix- = Call (Args)- | MetaCall (MToken) (Args)- | ExprIndex (MExpr)- | DotIndex (MToken)- deriving (Generic, Show)-+data PFExprSuffix = Call (Args)+ | MetaCall (MToken) (Args)+ | ExprIndex (MExpr)+ | DotIndex (MToken)+ deriving ( Generic,Show) -- PrefixExp ----------------------------------------------------data PrefixExp- = PFVar (MToken) (ExprSuffixList)- | ExprVar (MExpr) (ExprSuffixList)- deriving (Generic, Show)-+data PrefixExp = PFVar (MToken) (ExprSuffixList)+ | ExprVar (MExpr) (ExprSuffixList)+ deriving ( Generic,Show) -- Stat ---------------------------------------------------------data Stat- = Def (VarsList)- | LocDef (VarsList)- | AFuncCall (PrefixExp)- | ALabel (MToken)- | ABreak- | AContinue- | AGoto (MToken)- | ADo (Block)- | AWhile (MExpr) (Block)- | ARepeat (Block) (MExpr)- | AIf (MExpr) (Block) (ElseIfList) (Else)- | ANFor (MToken) (MExpr) (MExpr) (MExpr) (Block)- | AGFor (([MToken])) (MExprList) (Block)- | AFunc (FuncName) (([MToken])) (Block)- | ALocFunc (FuncName) (([MToken])) (Block)- deriving (Generic, Show)-+data Stat = Def (VarsList)+ | LocDef (VarsList)+ | AFuncCall (PrefixExp)+ | ALabel (MToken)+ | ABreak+ | AContinue+ | AGoto (MToken)+ | ADo (Block)+ | AWhile (MExpr) (Block)+ | ARepeat (Block) (MExpr)+ | AIf (MExpr) (Block) (ElseIfList) (Else)+ | ANFor (MToken) (MExpr) (MExpr) (MExpr) (Block)+ | AGFor (([MToken])) (MExprList) (Block)+ | AFunc (FuncName) (([MToken])) (Block)+ | ALocFunc (FuncName) (([MToken])) (Block)+ deriving ( Generic,Show) -- UnOp ---------------------------------------------------------data UnOp- = UnMinus- | ANot- | AHash- deriving (Generic, Show)-+data UnOp = UnMinus+ | ANot+ | AHash+ deriving ( Generic,Show) -- VarsList ---------------------------------------------------- type VarsList = [Declaration]
src/GLua/AG/PrettyPrint.hs view
@@ -1,7288 +1,8726 @@-{-# LANGUAGE DeriveGeneric #-}-{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- UUAGC 0.9.55 (src/GLua/AG/PrettyPrint.ag)-module GLua.AG.PrettyPrint where--{-# LINE 10 "src/GLua/AG/AST.ag" #-}--import Data.Aeson-import GHC.Generics-import GLua.AG.Token-import GLua.TokenTypes ()-{-# LINE 15 "src/GLua/AG/PrettyPrint.hs" #-}--{-# LINE 4 "src/GLua/AG/PrettyPrint.ag" #-}--import Data.List (foldl', isInfixOf)-import Data.Maybe-import Debug.Trace-import GLua.AG.AST-import GLua.TokenTypes-import Text.Parsec-import Text.Parsec.Error-import Text.ParserCombinators.UU.BasicInstances hiding (pos)-import Text.PrettyPrint hiding (braces, brackets, parens)-import Prelude hiding ((<>))-{-# LINE 29 "src/GLua/AG/PrettyPrint.hs" #-}-{-# LINE 19 "src/GLua/AG/PrettyPrint.ag" #-}--tok :: MToken -> Doc-tok (MToken _ t) = zeroWidthText . show $ t--printList :: (a -> Doc) -> String -> [a] -> Doc-printList _ _ [] = empty-printList f sep' (e : es) = (f e) <> g es- where- g [] = empty- g (e' : es') = zeroWidthText sep' <> (f e') <> g es'--data IsEmpty = IsEmpty | NonEmpty--fromEmpty :: IsEmpty -> Bool-fromEmpty IsEmpty = True-fromEmpty NonEmpty = False--toEmpty :: Bool -> IsEmpty-toEmpty b = if b then IsEmpty else NonEmpty--data PrettyPrintConfig = PPConfig- { spaceAfterParens :: Bool- , spaceAfterBrackets :: Bool- , spaceAfterBraces :: Bool- , spaceEmptyParens :: Bool- , spaceEmptyBraces :: Bool- , spaceAfterLabel :: Bool- , spaceBeforeComma :: Bool- , spaceAfterComma :: Bool- , semicolons :: Bool- , cStyle :: Bool- , removeRedundantParens :: Bool- , minimizeParens :: Bool- , assumeOperatorAssociativity :: Bool- , indentation :: String- }--defaultPPConfig :: PrettyPrintConfig-defaultPPConfig =- PPConfig- { spaceAfterParens = False- , spaceAfterBrackets = False- , spaceAfterBraces = False- , spaceEmptyParens = False- , spaceEmptyBraces = False- , spaceAfterLabel = False- , spaceBeforeComma = False- , spaceAfterComma = True- , semicolons = False- , cStyle = False- , removeRedundantParens = True- , assumeOperatorAssociativity = True- , minimizeParens = False- , indentation = " "- }--metaDoc :: Maybe MToken -> Doc-metaDoc (Just m) = zchr ':' <> tok m-metaDoc Nothing = empty--printVarList :: [(PrefixExp, Maybe MExpr)] -> Doc-printVarList vars =- printList pp_prefixexp ", " (map fst vars)- <-> zchr '='- <-> printList pp_mexpr ", " (catMaybes . map snd $ vars)--printStats :: [MStat] -> Int -> Doc-printStats [] _ = empty-printStats (x : xs) i = nest (i * 4) (pp_mstat x i) $+$ printStats xs i--printElIfs :: [(MExpr, Block)] -> Int -> Doc-printElIfs [] _ = empty-printElIfs ((e, b) : es) i =- zeroWidthText "elseif"- <-> pp_mexpr e- <-> zeroWidthText "then"- $+$ pp_block b i- $+$ printElIfs es i--printEls :: Maybe Block -> Int -> Doc-printEls Nothing _ = empty-printEls (Just b) i = zeroWidthText "else" $+$ pp_block b i--renderPos :: LineColPos -> String-renderPos (LineColPos l c _) = "line " ++ show (succ l) ++ ", column " ++ show (succ c)--renderRegion :: Region -> String-renderRegion (Region l r) = renderPos l ++ " - " ++ renderPos r--renderSourcePos :: SourcePos -> String-renderSourcePos sp =- "line "- ++ (show . succ . sourceLine $ sp)- ++ ", column "- ++ (show . succ . sourceColumn $ sp)--getMStatPos :: MStat -> String-getMStatPos (MStat p _) = renderRegion p--getAReturnPos :: AReturn -> String-getAReturnPos (AReturn p _) = renderRegion p-getAReturnPos NoReturn = "<unknown>"--getMExprPos :: MExpr -> String-getMExprPos (MExpr p _) = renderRegion p--renderError :: Error LineColPos -> String-renderError (Inserted str pos strs) =- renderPos pos- ++ ": Inserted '"- ++ str- ++ "'."- ++ render_expecting strs-renderError (Deleted str pos strs) =- renderPos pos- ++ ": Removed '"- ++ str- ++ "'. "- ++ render_expecting strs-renderError (Replaced str1 str2 pos strs) =- renderPos pos- ++ ": Replaced '"- ++ str1- ++ "' with '"- ++ str2- ++ "' at "- ++ renderPos pos- ++ render_expecting strs-renderError (DeletedAtEnd str) =- "Deleted '"- ++ str- ++ "' at the end of the Lua file because the parser doesn't know what to do with it."--render_expecting :: [String] -> String-render_expecting [a] = "Parser expected a " ++ a-render_expecting (a : as) = "Parser expected one of [" ++ a ++ concat (map (", " ++) as) ++ "]"-render_expecting [] = "Parser expected nothing"--renderPSError :: ParseError -> String-renderPSError ps =- map replNL- . showErrorMessages- "or"- "unknown parse error"- "expecting"- "unexpected"- "end of input"- . errorMessages- $ ps- where- replNL '\n' = ' '- replNL c = c---- | Render comments on multiple lines-renderMLComments :: PrettyPrintConfig -> Int -> [MToken] -> Doc-renderMLComments conf ind toks =- foldl' ($+$) empty . map (indent conf ind . tok . convertComment conf) $ toks---- | Render comments, and prefer having them on a single line. It may not print comments on the same--- line if that would cause a syntax error (e.g. a multiline comment after a single line comment)-renderSLComments :: PrettyPrintConfig -> Int -> [MToken] -> Doc-renderSLComments conf ind toks = foldl' combine empty . map (convertComment conf) $ toks- where- combine :: Doc -> MToken -> Doc- combine acc mt@(MToken _pos t) =- case t of- -- Block comments after single line comments cannot be printed on the same line, as that- -- would cause a syntax error, e.g. in this case:-- -- foo = { -- single line comment- -- --[[multiline- -- comment- -- ]]- -- }- -- Make sure in these cases the comment is printed on a new line, rather than on the- -- same line- DashBlockComment _depth comment- | '\n' `elem` comment ->- acc $+$ (indent conf ind $ tok mt)- SlashBlockComment comment- | '\n' `elem` comment ->- acc $+$ (indent conf ind $ tok mt)- _ -> acc <-> tok mt--convertComment :: PrettyPrintConfig -> MToken -> MToken-convertComment conf (MToken p t) = MToken p $ convert' t- where- convert' :: Token -> Token- convert' = if cStyle conf then cComment else luaComment-- luaComment :: Token -> Token- luaComment (SlashComment s) = DashComment s- luaComment (SlashBlockComment s) = DashBlockComment (lastBracket s) s- luaComment t' = t'-- -- converting /*]*/ would end up in --[[]]] when plainly converted- -- Deepen the block comment by 1 if that's the case- lastBracket :: String -> Int- lastBracket [] = 0- lastBracket s = if last s == ']' then 1 else 0-- cComment :: Token -> Token- cComment (DashComment s) = SlashComment s- cComment (DashBlockComment _ s) = SlashBlockComment s- cComment t' = t'--indent :: PrettyPrintConfig -> Int -> Doc -> Doc-indent conf n = (<>) $ zeroWidthText (concat . replicate n $ indentation conf)--parens :: PrettyPrintConfig -> IsEmpty -> Doc -> Doc-parens conf ie doc = zchr '(' `sep'` doc `sep'` zchr ')'- where- sep' :: Doc -> Doc -> Doc- sep' =- if spaceAfterParens conf && (not (fromEmpty ie) || spaceEmptyParens conf)- then (<->)- else (<>)--brackets :: PrettyPrintConfig -> Doc -> Doc-brackets conf doc = zchr '[' `sep'` doc `sep'` zchr ']'- where- sep' :: Doc -> Doc -> Doc- sep' = if spaceAfterBrackets conf then (<->) else (<>)--braces :: PrettyPrintConfig -> IsEmpty -> Doc -> Doc-braces conf ie doc = zchr '{' `sep'` doc `sep'` zchr '}'- where- sep' :: Doc -> Doc -> Doc- sep' =- if spaceAfterBraces conf && (not (fromEmpty ie) || spaceEmptyBraces conf)- then (<->)- else (<>)---- Zero width char-zchr :: Char -> Doc-zchr c = zeroWidthText [c]---- Zero width <+>-infixl 6 <->-(<->) :: Doc -> Doc -> Doc-a <-> b- | a == empty = b- | b == empty = a- | otherwise = a <> zchr ' ' <> b---- Operator levels, where level 1 is the lowest level, and level 8 is the highest one--- See http://www.lua.org/manual/5.2/manual.html#3.4.7-data OperatorLevel- = -- At the top level, there is no assigned operator level yet. This serves as a bottom value.- TopLevelExpression- | OperatorLevel1- | OperatorLevel2- | OperatorLevel3- | OperatorLevel4- | OperatorLevel5- | OperatorLevel6- | OperatorLevel7- | OperatorLevel8- deriving (Eq, Ord)---- | Returns true when any of the comments contain the string "format: multiline"-commentsForceMultiline :: [MToken] -> Bool-commentsForceMultiline commentTokens = any containsFormatMultiline commentTokens- where- containsFormatMultiline :: MToken -> Bool- containsFormatMultiline (MToken _pos t) = case t of- DashComment comment -> stringForcesFormat comment- DashBlockComment _ comment -> stringForcesFormat comment- SlashComment comment -> stringForcesFormat comment- SlashBlockComment comment -> stringForcesFormat comment- _ -> False-- stringForcesFormat :: String -> Bool- stringForcesFormat s = "format: multiline" `isInfixOf` s--{-# LINE 304 "src/GLua/AG/PrettyPrint.hs" #-}--{-# LINE 1235 "src/GLua/AG/PrettyPrint.ag" #-}--pp_block :: Block -> Int -> Doc-pp_block p i = pretty_Syn_Block (wrap_Block (sem_Block p) (emptyInh_Block{indent_Inh_Block = i}))--pp_mstat :: MStat -> Int -> Doc-pp_mstat p i = pretty_Syn_MStat (wrap_MStat (sem_MStat p) emptyInh_MStat{indent_Inh_MStat = i})--pp_prefixexp :: PrefixExp -> Doc-pp_prefixexp p = pretty_Syn_PrefixExp (wrap_PrefixExp (sem_PrefixExp p) emptyInh_PrefixExp)--pp_pfexprsuffix :: PFExprSuffix -> Doc-pp_pfexprsuffix p =- pretty_Syn_PFExprSuffix (wrap_PFExprSuffix (sem_PFExprSuffix p) emptyInh_PFExprSuffix)--pp_field :: Field -> Doc-pp_field p = pretty_Syn_Field (wrap_Field (sem_Field p) emptyInh_Field)--pp_mexpr :: MExpr -> Doc-pp_mexpr p = pretty_Syn_MExpr (wrap_MExpr (sem_MExpr p) emptyInh_MExpr)--prettyprint :: AST -> String-prettyprint p = render $ pretty_Syn_AST (wrap_AST (sem_AST p) emptyInh_AST)--prettyprintConf :: PrettyPrintConfig -> AST -> String-prettyprintConf conf p =- render $ pretty_Syn_AST (wrap_AST (sem_AST p) emptyInh_AST{ppconf_Inh_AST = conf})--renderBlock :: Block -> String-renderBlock p = render $ pretty_Syn_Block (wrap_Block (sem_Block p) emptyInh_Block)--renderStat :: Stat -> String-renderStat p = render $ pretty_Syn_Stat (wrap_Stat (sem_Stat p) emptyInh_Stat)--renderMStat :: MStat -> String-renderMStat p = render $ pretty_Syn_MStat (wrap_MStat (sem_MStat p) emptyInh_MStat)--renderAReturn :: AReturn -> String-renderAReturn p = render $ pretty_Syn_AReturn (wrap_AReturn (sem_AReturn p) emptyInh_AReturn)--renderFuncName :: FuncName -> String-renderFuncName p = render $ pretty_Syn_FuncName (wrap_FuncName (sem_FuncName p) emptyInh_FuncName)--renderPrefixExp :: PrefixExp -> String-renderPrefixExp p =- render $ pretty_Syn_PrefixExp (wrap_PrefixExp (sem_PrefixExp p) emptyInh_PrefixExp)--renderExpr :: Expr -> String-renderExpr p = render $ pretty_Syn_Expr (wrap_Expr (sem_Expr p) emptyInh_Expr)--renderMExpr :: MExpr -> String-renderMExpr p = render $ pretty_Syn_MExpr (wrap_MExpr (sem_MExpr p) emptyInh_MExpr)--renderArgs :: Args -> String-renderArgs p = render $ pretty_Syn_Args (wrap_Args (sem_Args p) emptyInh_Args)--renderField :: Field -> String-renderField p = render $ pretty_Syn_Field (wrap_Field (sem_Field p) emptyInh_Field)--emptyInh_Field :: Inh_Field-emptyInh_Field =- Inh_Field- { comments_Inh_Field = []- , forceMultiline_Inh_Field = False- , indent_Inh_Field = 0- , ppconf_Inh_Field = defaultPPConfig- }--emptyInh_Args :: Inh_Args-emptyInh_Args =- Inh_Args- { comments_Inh_Args = []- , forceMultiline_Inh_Args = False- , indent_Inh_Args = 0- , ppconf_Inh_Args = defaultPPConfig- }--emptyInh_MExpr :: Inh_MExpr-emptyInh_MExpr =- Inh_MExpr- { comments_Inh_MExpr = []- , forceMultiline_Inh_MExpr = False- , indent_Inh_MExpr = 0- , parentOperatorAssociative_Inh_MExpr = True- , parentOperatorPrecedence_Inh_MExpr = TopLevelExpression- , ppconf_Inh_MExpr = defaultPPConfig- }--emptyInh_Expr :: Inh_Expr-emptyInh_Expr =- Inh_Expr- { comments_Inh_Expr = []- , forceMultiline_Inh_Expr = False- , indent_Inh_Expr = 0- , parentOperatorAssociative_Inh_Expr = True- , parentOperatorPrecedence_Inh_Expr = TopLevelExpression- , ppconf_Inh_Expr = defaultPPConfig- , statRegion_Inh_Expr = emptyRg- }--emptyInh_PrefixExp :: Inh_PrefixExp-emptyInh_PrefixExp =- Inh_PrefixExp- { comments_Inh_PrefixExp = []- , forceMultiline_Inh_PrefixExp = False- , indent_Inh_PrefixExp = 0- , parentOperatorAssociative_Inh_PrefixExp = True- , parentOperatorPrecedence_Inh_PrefixExp = TopLevelExpression- , ppconf_Inh_PrefixExp = defaultPPConfig- }--emptyInh_FuncName :: Inh_FuncName-emptyInh_FuncName =- Inh_FuncName- { comments_Inh_FuncName = []- , indent_Inh_FuncName = 0- , ppconf_Inh_FuncName = defaultPPConfig- }--emptyInh_AReturn :: Inh_AReturn-emptyInh_AReturn =- Inh_AReturn- { comments_Inh_AReturn = []- , forceMultiline_Inh_AReturn = False- , indent_Inh_AReturn = 0- , ppconf_Inh_AReturn = defaultPPConfig- }--emptyInh_MStat :: Inh_MStat-emptyInh_MStat =- Inh_MStat- { comments_Inh_MStat = []- , forceMultiline_Inh_MStat = False- , indent_Inh_MStat = 0- , isLastStatement_Inh_MStat = False- , ppconf_Inh_MStat = defaultPPConfig- , wouldBeAmbiguousWithoutSemicolon_Inh_MStat = False- }--emptyInh_Stat :: Inh_Stat-emptyInh_Stat =- Inh_Stat- { comments_Inh_Stat = []- , forceMultiline_Inh_Stat = False- , indent_Inh_Stat = 0- , isLastStatement_Inh_Stat = False- , ppconf_Inh_Stat = defaultPPConfig- , statRegion_Inh_Stat = emptyRg- , wouldBeAmbiguousWithoutSemicolon_Inh_Stat = False- }--emptyInh_Block :: Inh_Block-emptyInh_Block =- Inh_Block- { comments_Inh_Block = []- , forceMultiline_Inh_Block = False- , indent_Inh_Block = 0- , ppconf_Inh_Block = defaultPPConfig- , statRegion_Inh_Block = emptyRg- }--emptyInh_AST :: Inh_AST-emptyInh_AST =- Inh_AST- { indent_Inh_AST = 0- , ppconf_Inh_AST = defaultPPConfig- }--emptyInh_PFExprSuffix :: Inh_PFExprSuffix-emptyInh_PFExprSuffix =- Inh_PFExprSuffix- { comments_Inh_PFExprSuffix = []- , forceMultiline_Inh_PFExprSuffix = False- , indent_Inh_PFExprSuffix = 0- , ppconf_Inh_PFExprSuffix = defaultPPConfig- }--{-# LINE 484 "src/GLua/AG/PrettyPrint.hs" #-}--- AReturn -------------------------------------------------------- cata-sem_AReturn- :: AReturn- -> T_AReturn-sem_AReturn (AReturn _pos _values) =- (sem_AReturn_AReturn _pos (sem_MExprList _values))-sem_AReturn (NoReturn) =- (sem_AReturn_NoReturn)---- semantic domain-type T_AReturn =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), AReturn, Bool, Doc, Int)-data Inh_AReturn = Inh_AReturn {comments_Inh_AReturn :: ([MToken]), forceMultiline_Inh_AReturn :: Bool, indent_Inh_AReturn :: Int, ppconf_Inh_AReturn :: PrettyPrintConfig}-data Syn_AReturn = Syn_AReturn {comments_Syn_AReturn :: ([MToken]), copy_Syn_AReturn :: AReturn, isMultiline_Syn_AReturn :: Bool, pretty_Syn_AReturn :: Doc, statementCount_Syn_AReturn :: Int}-wrap_AReturn- :: T_AReturn- -> Inh_AReturn- -> Syn_AReturn-wrap_AReturn sem (Inh_AReturn _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty, _lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_AReturn _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty _lhsOstatementCount)- )-sem_AReturn_AReturn- :: Region- -> T_MExprList- -> T_AReturn-sem_AReturn_AReturn pos_ values_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _valuesOcomments :: ([MToken])- _lhsOcomments :: ([MToken])- _valuesOforceMultiline :: Bool- _valuesOsomeElementsInListAreMultiline :: Bool- _lhsOstatementCount :: Int- _lhsOcopy :: AReturn- _valuesOindent :: Int- _valuesOppconf :: PrettyPrintConfig- _valuesIcomments :: ([MToken])- _valuesIcopy :: MExprList- _valuesIisAssociative :: Bool- _valuesIisLast :: Bool- _valuesIisMultiline :: Bool- _valuesIpos :: Region- _valuesIprecedence :: OperatorLevel- _valuesIpretty :: Doc- _lhsOpretty =- ( renderMLComments _lhsIppconf _lhsIindent (fst _commentsBefore)- $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "return")- <-> _valuesIpretty- <> _semicolon- <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter)- )- _lhsOisMultiline =- ( _valuesIisMultiline- || not (null $ fst _commentsBefore)- || not (null $ fst _commentsAfter)- )- _semicolon =- ( if semicolons _lhsIppconf then zchr ';' else empty- )- _commentsBefore =- ( span (\(MToken pos _) -> pos `before` pos_) _lhsIcomments- )- _valuesOcomments =- ( snd _commentsBefore- )- _commentsAfter =- ( span (\(MToken pos _) -> pos `beforeOrOnLine` (rgOr _valuesIpos pos_)) _valuesIcomments- )- _lhsOcomments =- ( snd _commentsAfter- )- _valuesOforceMultiline =- ( False- )- _valuesOsomeElementsInListAreMultiline =- ( False- )- _lhsOstatementCount =- ( 1- )- _copy =- ( AReturn pos_ _valuesIcopy- )- _lhsOcopy =- ( _copy- )- _valuesOindent =- ( _lhsIindent- )- _valuesOppconf =- ( _lhsIppconf- )- (_valuesIcomments, _valuesIcopy, _valuesIisAssociative, _valuesIisLast, _valuesIisMultiline, _valuesIpos, _valuesIprecedence, _valuesIpretty) =- values_ _valuesOcomments _valuesOforceMultiline _valuesOindent _valuesOppconf _valuesOsomeElementsInListAreMultiline- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty, _lhsOstatementCount)- )- )-sem_AReturn_NoReturn :: T_AReturn-sem_AReturn_NoReturn =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOstatementCount :: Int- _lhsOisMultiline :: Bool- _lhsOcopy :: AReturn- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( empty- )- _lhsOstatementCount =- ( 0- )- _lhsOisMultiline =- ( False- )- _copy =- ( NoReturn- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty, _lhsOstatementCount)- )- )---- AST ------------------------------------------------------------ cata-sem_AST- :: AST- -> T_AST-sem_AST (AST _comments _chunk) =- (sem_AST_AST _comments (sem_Block _chunk))---- semantic domain-type T_AST =- Int- -> PrettyPrintConfig- -> (AST, Bool, Doc)-data Inh_AST = Inh_AST {indent_Inh_AST :: Int, ppconf_Inh_AST :: PrettyPrintConfig}-data Syn_AST = Syn_AST {copy_Syn_AST :: AST, isMultiline_Syn_AST :: Bool, pretty_Syn_AST :: Doc}-wrap_AST- :: T_AST- -> Inh_AST- -> Syn_AST-wrap_AST sem (Inh_AST _lhsIindent _lhsIppconf) =- ( let- (_lhsOcopy, _lhsOisMultiline, _lhsOpretty) = sem _lhsIindent _lhsIppconf- in- (Syn_AST _lhsOcopy _lhsOisMultiline _lhsOpretty)- )-sem_AST_AST- :: ([MToken])- -> T_Block- -> T_AST-sem_AST_AST comments_ chunk_ =- ( \_lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _chunkOcomments :: ([MToken])- _chunkOstatRegion :: Region- _chunkOforceMultiline :: Bool- _lhsOcopy :: AST- _chunkOindent :: Int- _chunkOppconf :: PrettyPrintConfig- _chunkIcomments :: ([MToken])- _chunkIcopy :: Block- _chunkIisMultiline :: Bool- _chunkIpretty :: Doc- _chunkIstatementCount :: Int- _lhsOpretty =- ( _chunkIpretty $+$ _prettyComments- )- _lhsOisMultiline =- ( _chunkIisMultiline- )- _prettyComments =- ( renderMLComments _lhsIppconf _lhsIindent _chunkIcomments- )- _chunkOcomments =- ( comments_- )- _chunkOstatRegion =- ( emptyRg- )- _chunkOforceMultiline =- ( False- )- _copy =- ( AST comments_ _chunkIcopy- )- _lhsOcopy =- ( _copy- )- _chunkOindent =- ( _lhsIindent- )- _chunkOppconf =- ( _lhsIppconf- )- (_chunkIcomments, _chunkIcopy, _chunkIisMultiline, _chunkIpretty, _chunkIstatementCount) =- chunk_ _chunkOcomments _chunkOforceMultiline _chunkOindent _chunkOppconf _chunkOstatRegion- in- (_lhsOcopy, _lhsOisMultiline, _lhsOpretty)- )- )---- Args ----------------------------------------------------------- cata-sem_Args- :: Args- -> T_Args-sem_Args (ListArgs _args) =- (sem_Args_ListArgs (sem_MExprList _args))-sem_Args (TableArg _arg) =- (sem_Args_TableArg (sem_FieldList _arg))-sem_Args (StringArg _arg) =- (sem_Args_StringArg _arg)---- semantic domain-type T_Args =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), Args, Bool, Doc)-data Inh_Args = Inh_Args {comments_Inh_Args :: ([MToken]), forceMultiline_Inh_Args :: Bool, indent_Inh_Args :: Int, ppconf_Inh_Args :: PrettyPrintConfig}-data Syn_Args = Syn_Args {comments_Syn_Args :: ([MToken]), copy_Syn_Args :: Args, isMultiline_Syn_Args :: Bool, pretty_Syn_Args :: Doc}-wrap_Args- :: T_Args- -> Inh_Args- -> Syn_Args-wrap_Args sem (Inh_Args _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_Args _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty)- )-sem_Args_ListArgs- :: T_MExprList- -> T_Args-sem_Args_ListArgs args_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _argsOindent :: Int- _argsOsomeElementsInListAreMultiline :: Bool- _lhsOcopy :: Args- _lhsOcomments :: ([MToken])- _argsOcomments :: ([MToken])- _argsOforceMultiline :: Bool- _argsOppconf :: PrettyPrintConfig- _argsIcomments :: ([MToken])- _argsIcopy :: MExprList- _argsIisAssociative :: Bool- _argsIisLast :: Bool- _argsIisMultiline :: Bool- _argsIpos :: Region- _argsIprecedence :: OperatorLevel- _argsIpretty :: Doc- _lhsOpretty =- ( if _argsIisMultiline- then- zchr '('- $+$ _argsIpretty- $+$ indent _lhsIppconf _lhsIindent (zchr ')')- else parens _lhsIppconf _emptyParams _argsIpretty- )- _lhsOisMultiline =- ( _argsIisMultiline- )- _emptyParams =- ( toEmpty $ null _argsIcopy- )- _argsOindent =- ( if _argsIisMultiline then _lhsIindent + 1 else 0- )- _argsOsomeElementsInListAreMultiline =- ( False- )- _copy =- ( ListArgs _argsIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _argsIcomments- )- _argsOcomments =- ( _lhsIcomments- )- _argsOforceMultiline =- ( _lhsIforceMultiline- )- _argsOppconf =- ( _lhsIppconf- )- (_argsIcomments, _argsIcopy, _argsIisAssociative, _argsIisLast, _argsIisMultiline, _argsIpos, _argsIprecedence, _argsIpretty) =- args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf _argsOsomeElementsInListAreMultiline- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)- )- )-sem_Args_TableArg- :: T_FieldList- -> T_Args-sem_Args_TableArg arg_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _argOindent :: Int- _argOsomeElementsInListAreMultiline :: Bool- _lhsOcopy :: Args- _lhsOcomments :: ([MToken])- _argOcomments :: ([MToken])- _argOforceMultiline :: Bool- _argOppconf :: PrettyPrintConfig- _argIcomments :: ([MToken])- _argIcopy :: FieldList- _argIisMultiline :: Bool- _argIisNil :: Bool- _argIpretty :: Doc- _lhsOpretty =- ( if _argIisMultiline then _prettyMulti else _prettySingle- )- _lhsOisMultiline =- ( _argIisMultiline- )- _prettyMulti =- ( zchr '{' $+$ _argIpretty $+$ indent _lhsIppconf _lhsIindent (zchr '}')- )- _prettySingle =- ( braces _lhsIppconf _emptyContents _argIpretty- )- _emptyContents =- ( toEmpty $ null _argIcopy- )- _argOindent =- ( _lhsIindent + (if _argIisMultiline then 1 else 0)- )- _argOsomeElementsInListAreMultiline =- ( False- )- _copy =- ( TableArg _argIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _argIcomments- )- _argOcomments =- ( _lhsIcomments- )- _argOforceMultiline =- ( _lhsIforceMultiline- )- _argOppconf =- ( _lhsIppconf- )- (_argIcomments, _argIcopy, _argIisMultiline, _argIisNil, _argIpretty) =- arg_ _argOcomments _argOforceMultiline _argOindent _argOppconf _argOsomeElementsInListAreMultiline- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)- )- )-sem_Args_StringArg- :: MToken- -> T_Args-sem_Args_StringArg arg_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOcopy :: Args- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( tok arg_- )- _lhsOisMultiline =- ( False- )- _copy =- ( StringArg arg_- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)- )- )---- BinOp ---------------------------------------------------------- cata-sem_BinOp- :: BinOp- -> T_BinOp-sem_BinOp (AOr) =- (sem_BinOp_AOr)-sem_BinOp (AAnd) =- (sem_BinOp_AAnd)-sem_BinOp (ALT) =- (sem_BinOp_ALT)-sem_BinOp (AGT) =- (sem_BinOp_AGT)-sem_BinOp (ALEQ) =- (sem_BinOp_ALEQ)-sem_BinOp (AGEQ) =- (sem_BinOp_AGEQ)-sem_BinOp (ANEq) =- (sem_BinOp_ANEq)-sem_BinOp (AEq) =- (sem_BinOp_AEq)-sem_BinOp (AConcatenate) =- (sem_BinOp_AConcatenate)-sem_BinOp (APlus) =- (sem_BinOp_APlus)-sem_BinOp (BinMinus) =- (sem_BinOp_BinMinus)-sem_BinOp (AMultiply) =- (sem_BinOp_AMultiply)-sem_BinOp (ADivide) =- (sem_BinOp_ADivide)-sem_BinOp (AModulus) =- (sem_BinOp_AModulus)-sem_BinOp (APower) =- (sem_BinOp_APower)---- semantic domain-type T_BinOp =- ([MToken])- -> Int- -> PrettyPrintConfig- -> (([MToken]), BinOp, Bool, Bool, OperatorLevel, Doc)-data Inh_BinOp = Inh_BinOp {comments_Inh_BinOp :: ([MToken]), indent_Inh_BinOp :: Int, ppconf_Inh_BinOp :: PrettyPrintConfig}-data Syn_BinOp = Syn_BinOp {comments_Syn_BinOp :: ([MToken]), copy_Syn_BinOp :: BinOp, isAssociative_Syn_BinOp :: Bool, isMultiline_Syn_BinOp :: Bool, precedence_Syn_BinOp :: OperatorLevel, pretty_Syn_BinOp :: Doc}-wrap_BinOp- :: T_BinOp- -> Inh_BinOp- -> Syn_BinOp-wrap_BinOp sem (Inh_BinOp _lhsIcomments _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf- in- (Syn_BinOp _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty)- )-sem_BinOp_AOr :: T_BinOp-sem_BinOp_AOr =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText (if cStyle _lhsIppconf then "||" else "or")- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel1- )- _lhsOisAssociative =- ( True- )- _copy =- ( AOr- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_AAnd :: T_BinOp-sem_BinOp_AAnd =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText (if cStyle _lhsIppconf then "&&" else "and")- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel2- )- _lhsOisAssociative =- ( True- )- _copy =- ( AAnd- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_ALT :: T_BinOp-sem_BinOp_ALT =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "<"- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel3- )- _lhsOisAssociative =- ( True- )- _copy =- ( ALT- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_AGT :: T_BinOp-sem_BinOp_AGT =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText ">"- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel3- )- _lhsOisAssociative =- ( True- )- _copy =- ( AGT- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_ALEQ :: T_BinOp-sem_BinOp_ALEQ =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "<="- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel3- )- _lhsOisAssociative =- ( True- )- _copy =- ( ALEQ- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_AGEQ :: T_BinOp-sem_BinOp_AGEQ =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText ">="- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel3- )- _lhsOisAssociative =- ( True- )- _copy =- ( AGEQ- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_ANEq :: T_BinOp-sem_BinOp_ANEq =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText (if cStyle _lhsIppconf then "!=" else "~=")- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel3- )- _lhsOisAssociative =- ( True- )- _copy =- ( ANEq- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_AEq :: T_BinOp-sem_BinOp_AEq =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "=="- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel3- )- _lhsOisAssociative =- ( True- )- _copy =- ( AEq- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_AConcatenate :: T_BinOp-sem_BinOp_AConcatenate =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText ".."- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel4- )- _lhsOisAssociative =- ( True- )- _copy =- ( AConcatenate- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_APlus :: T_BinOp-sem_BinOp_APlus =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "+"- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel5- )- _lhsOisAssociative =- ( True- )- _copy =- ( APlus- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_BinMinus :: T_BinOp-sem_BinOp_BinMinus =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "-"- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel5- )- _lhsOisAssociative =- ( False- )- _copy =- ( BinMinus- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_AMultiply :: T_BinOp-sem_BinOp_AMultiply =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "*"- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel6- )- _lhsOisAssociative =- ( True- )- _copy =- ( AMultiply- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_ADivide :: T_BinOp-sem_BinOp_ADivide =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "/"- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel6- )- _lhsOisAssociative =- ( False- )- _copy =- ( ADivide- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_AModulus :: T_BinOp-sem_BinOp_AModulus =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "%"- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel6- )- _lhsOisAssociative =- ( False- )- _copy =- ( AModulus- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_BinOp_APower :: T_BinOp-sem_BinOp_APower =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOcopy :: BinOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "^"- )- _lhsOisMultiline =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _lhsOisAssociative =- ( False- )- _copy =- ( APower- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )---- Block ---------------------------------------------------------- cata-sem_Block- :: Block- -> T_Block-sem_Block (Block _stats _ret) =- (sem_Block_Block (sem_MStatList _stats) (sem_AReturn _ret))---- semantic domain-type T_Block =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> Region- -> (([MToken]), Block, Bool, Doc, Int)-data Inh_Block = Inh_Block {comments_Inh_Block :: ([MToken]), forceMultiline_Inh_Block :: Bool, indent_Inh_Block :: Int, ppconf_Inh_Block :: PrettyPrintConfig, statRegion_Inh_Block :: Region}-data Syn_Block = Syn_Block {comments_Syn_Block :: ([MToken]), copy_Syn_Block :: Block, isMultiline_Syn_Block :: Bool, pretty_Syn_Block :: Doc, statementCount_Syn_Block :: Int}-wrap_Block- :: T_Block- -> Inh_Block- -> Syn_Block-wrap_Block sem (Inh_Block _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty, _lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion- in- (Syn_Block _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty _lhsOstatementCount)- )-sem_Block_Block- :: T_MStatList- -> T_AReturn- -> T_Block-sem_Block_Block stats_ ret_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOstatementCount :: Int- _lhsOcopy :: Block- _lhsOcomments :: ([MToken])- _lhsOisMultiline :: Bool- _statsOcomments :: ([MToken])- _statsOforceMultiline :: Bool- _statsOindent :: Int- _statsOppconf :: PrettyPrintConfig- _statsOstatRegion :: Region- _retOcomments :: ([MToken])- _retOforceMultiline :: Bool- _retOindent :: Int- _retOppconf :: PrettyPrintConfig- _statsIcomments :: ([MToken])- _statsIcopy :: MStatList- _statsIisLast :: Bool- _statsIisMultiline :: Bool- _statsIpretty :: Doc- _statsIstartsWithExprPrefixExpression :: Bool- _statsIstatementCount :: Int- _retIcomments :: ([MToken])- _retIcopy :: AReturn- _retIisMultiline :: Bool- _retIpretty :: Doc- _retIstatementCount :: Int- _lhsOpretty =- ( if _isMultiline- then _statsIpretty $+$ _retIpretty- else _statsIpretty <-> _retIpretty- )- _statementCount =- ( _statsIstatementCount + _retIstatementCount- )- _isMultiline =- ( _statsIisMultiline || _retIisMultiline || _statementCount > 1- )- _lhsOstatementCount =- ( _statementCount- )- _copy =- ( Block _statsIcopy _retIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _retIcomments- )- _lhsOisMultiline =- ( _isMultiline- )- _statsOcomments =- ( _lhsIcomments- )- _statsOforceMultiline =- ( _lhsIforceMultiline- )- _statsOindent =- ( _lhsIindent- )- _statsOppconf =- ( _lhsIppconf- )- _statsOstatRegion =- ( _lhsIstatRegion- )- _retOcomments =- ( _statsIcomments- )- _retOforceMultiline =- ( _lhsIforceMultiline- )- _retOindent =- ( _lhsIindent- )- _retOppconf =- ( _lhsIppconf- )- (_statsIcomments, _statsIcopy, _statsIisLast, _statsIisMultiline, _statsIpretty, _statsIstartsWithExprPrefixExpression, _statsIstatementCount) =- stats_ _statsOcomments _statsOforceMultiline _statsOindent _statsOppconf _statsOstatRegion- (_retIcomments, _retIcopy, _retIisMultiline, _retIpretty, _retIstatementCount) =- ret_ _retOcomments _retOforceMultiline _retOindent _retOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty, _lhsOstatementCount)- )- )---- Declaration ---------------------------------------------------- cata-sem_Declaration- :: Declaration- -> T_Declaration-sem_Declaration (x1, x2) =- (sem_Declaration_Tuple (sem_PrefixExp x1) (sem_MaybeMExpr x2))---- semantic domain-type T_Declaration =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), Declaration, Bool, Doc, Bool, Bool, Doc, Bool, Doc)-data Inh_Declaration = Inh_Declaration {comments_Inh_Declaration :: ([MToken]), forceMultiline_Inh_Declaration :: Bool, indent_Inh_Declaration :: Int, ppconf_Inh_Declaration :: PrettyPrintConfig}-data Syn_Declaration = Syn_Declaration {comments_Syn_Declaration :: ([MToken]), copy_Syn_Declaration :: Declaration, endsWithPrefixExpression_Syn_Declaration :: Bool, exprPretty_Syn_Declaration :: Doc, isDefined_Syn_Declaration :: Bool, isMultiline_Syn_Declaration :: Bool, pretty_Syn_Declaration :: Doc, startsWithExprPrefixExpression_Syn_Declaration :: Bool, varPretty_Syn_Declaration :: Doc}-wrap_Declaration- :: T_Declaration- -> Inh_Declaration- -> Syn_Declaration-wrap_Declaration sem (Inh_Declaration _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOexprPretty, _lhsOisDefined, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOvarPretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_Declaration _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOexprPretty _lhsOisDefined _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOvarPretty)- )-sem_Declaration_Tuple- :: T_PrefixExp- -> T_MaybeMExpr- -> T_Declaration-sem_Declaration_Tuple x1_ x2_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOvarPretty :: Doc- _lhsOexprPretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _x1OparentOperatorPrecedence :: OperatorLevel- _x1OparentOperatorAssociative :: Bool- _lhsOisDefined :: Bool- _lhsOcopy :: Declaration- _lhsOcomments :: ([MToken])- _lhsOpretty :: Doc- _x1Ocomments :: ([MToken])- _x1OforceMultiline :: Bool- _x1Oindent :: Int- _x1Oppconf :: PrettyPrintConfig- _x2Ocomments :: ([MToken])- _x2OforceMultiline :: Bool- _x2Oindent :: Int- _x2Oppconf :: PrettyPrintConfig- _x1Icomments :: ([MToken])- _x1Icopy :: PrefixExp- _x1IisAssociative :: Bool- _x1IisLiteral :: Bool- _x1IisMultiline :: Bool- _x1Iprecedence :: OperatorLevel- _x1Ipretty :: Doc- _x1IstartsWithExprPrefixExpression :: Bool- _x2Icomments :: ([MToken])- _x2Icopy :: MaybeMExpr- _x2IendsWithPrefixExpression :: Bool- _x2IisAssociative :: Bool- _x2IisDefined :: Bool- _x2IisMultiline :: Bool- _x2Iprecedence :: OperatorLevel- _x2Ipretty :: Doc- _lhsOvarPretty =- ( _x1Ipretty- )- _lhsOexprPretty =- ( _x2Ipretty- )- _lhsOstartsWithExprPrefixExpression =- ( _x1IstartsWithExprPrefixExpression- )- _lhsOendsWithPrefixExpression =- ( _x2IendsWithPrefixExpression- )- _lhsOisMultiline =- ( _x1IisMultiline || _x2IisMultiline- )- _x1OparentOperatorPrecedence =- ( TopLevelExpression- )- _x1OparentOperatorAssociative =- ( True- )- _lhsOisDefined =- ( _x2IisDefined- )- _copy =- ( (_x1Icopy, _x2Icopy)- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _x2Icomments- )- _lhsOpretty =- ( _x2Ipretty- )- _x1Ocomments =- ( _lhsIcomments- )- _x1OforceMultiline =- ( _lhsIforceMultiline- )- _x1Oindent =- ( _lhsIindent- )- _x1Oppconf =- ( _lhsIppconf- )- _x2Ocomments =- ( _x1Icomments- )- _x2OforceMultiline =- ( _lhsIforceMultiline- )- _x2Oindent =- ( _lhsIindent- )- _x2Oppconf =- ( _lhsIppconf- )- (_x1Icomments, _x1Icopy, _x1IisAssociative, _x1IisLiteral, _x1IisMultiline, _x1Iprecedence, _x1Ipretty, _x1IstartsWithExprPrefixExpression) =- x1_ _x1Ocomments _x1OforceMultiline _x1Oindent _x1OparentOperatorAssociative _x1OparentOperatorPrecedence _x1Oppconf- (_x2Icomments, _x2Icopy, _x2IendsWithPrefixExpression, _x2IisAssociative, _x2IisDefined, _x2IisMultiline, _x2Iprecedence, _x2Ipretty) =- x2_ _x2Ocomments _x2OforceMultiline _x2Oindent _x2Oppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOexprPretty, _lhsOisDefined, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOvarPretty)- )- )---- Else ----------------------------------------------------------- cata-sem_Else- :: Else- -> T_Else-sem_Else (Prelude.Just x) =- (sem_Else_Just (sem_MElse x))-sem_Else Prelude.Nothing =- sem_Else_Nothing---- semantic domain-type T_Else =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> Region- -> (([MToken]), Else, Bool, Bool, Region, Doc)-data Inh_Else = Inh_Else {comments_Inh_Else :: ([MToken]), forceMultiline_Inh_Else :: Bool, indent_Inh_Else :: Int, ppconf_Inh_Else :: PrettyPrintConfig, statRegion_Inh_Else :: Region}-data Syn_Else = Syn_Else {comments_Syn_Else :: ([MToken]), copy_Syn_Else :: Else, elsesExist_Syn_Else :: Bool, isMultiline_Syn_Else :: Bool, pos_Syn_Else :: Region, pretty_Syn_Else :: Doc}-wrap_Else- :: T_Else- -> Inh_Else- -> Syn_Else-wrap_Else sem (Inh_Else _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion- in- (Syn_Else _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty)- )-sem_Else_Just- :: T_MElse- -> T_Else-sem_Else_Just just_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOelsesExist :: Bool- _lhsOisMultiline :: Bool- _lhsOcopy :: Else- _lhsOcomments :: ([MToken])- _lhsOpos :: Region- _lhsOpretty :: Doc- _justOcomments :: ([MToken])- _justOforceMultiline :: Bool- _justOindent :: Int- _justOppconf :: PrettyPrintConfig- _justOstatRegion :: Region- _justIcomments :: ([MToken])- _justIcopy :: MElse- _justIelsesExist :: Bool- _justIisMultiline :: Bool- _justIpos :: Region- _justIpretty :: Doc- _lhsOelsesExist =- ( True- )- _lhsOisMultiline =- ( _justIisMultiline- )- _copy =- ( Just _justIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _justIcomments- )- _lhsOpos =- ( _justIpos- )- _lhsOpretty =- ( _justIpretty- )- _justOcomments =- ( _lhsIcomments- )- _justOforceMultiline =- ( _lhsIforceMultiline- )- _justOindent =- ( _lhsIindent- )- _justOppconf =- ( _lhsIppconf- )- _justOstatRegion =- ( _lhsIstatRegion- )- (_justIcomments, _justIcopy, _justIelsesExist, _justIisMultiline, _justIpos, _justIpretty) =- just_ _justOcomments _justOforceMultiline _justOindent _justOppconf _justOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty)- )- )-sem_Else_Nothing :: T_Else-sem_Else_Nothing =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOpos :: Region- _lhsOisMultiline :: Bool- _lhsOelsesExist :: Bool- _lhsOcopy :: Else- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( empty- )- _lhsOpos =- ( emptyRg- )- _lhsOisMultiline =- ( False- )- _lhsOelsesExist =- ( False- )- _copy =- ( Nothing- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty)- )- )---- ElseIf --------------------------------------------------------- cata-sem_ElseIf- :: ElseIf- -> T_ElseIf-sem_ElseIf (x1, x2) =- (sem_ElseIf_Tuple (sem_MExpr x1) (sem_Block x2))---- semantic domain-type T_ElseIf =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), ElseIf, Bool, Doc)-data Inh_ElseIf = Inh_ElseIf {comments_Inh_ElseIf :: ([MToken]), forceMultiline_Inh_ElseIf :: Bool, indent_Inh_ElseIf :: Int, ppconf_Inh_ElseIf :: PrettyPrintConfig}-data Syn_ElseIf = Syn_ElseIf {comments_Syn_ElseIf :: ([MToken]), copy_Syn_ElseIf :: ElseIf, isMultiline_Syn_ElseIf :: Bool, pretty_Syn_ElseIf :: Doc}-wrap_ElseIf- :: T_ElseIf- -> Inh_ElseIf- -> Syn_ElseIf-wrap_ElseIf sem (Inh_ElseIf _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_ElseIf _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty)- )-sem_ElseIf_Tuple- :: T_MExpr- -> T_Block- -> T_ElseIf-sem_ElseIf_Tuple x1_ x2_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _x2Oindent :: Int- _x2OstatRegion :: Region- _x1OparentOperatorPrecedence :: OperatorLevel- _x1OparentOperatorAssociative :: Bool- _lhsOcopy :: ElseIf- _lhsOcomments :: ([MToken])- _x1Ocomments :: ([MToken])- _x1OforceMultiline :: Bool- _x1Oindent :: Int- _x1Oppconf :: PrettyPrintConfig- _x2Ocomments :: ([MToken])- _x2OforceMultiline :: Bool- _x2Oppconf :: PrettyPrintConfig- _x1Icomments :: ([MToken])- _x1Icopy :: MExpr- _x1IendsWithPrefixExpression :: Bool- _x1IisAssociative :: Bool- _x1IisLiteral :: Bool- _x1IisMultiline :: Bool- _x1Ipos :: Region- _x1Iprecedence :: OperatorLevel- _x1Ipretty :: Doc- _x2Icomments :: ([MToken])- _x2Icopy :: Block- _x2IisMultiline :: Bool- _x2Ipretty :: Doc- _x2IstatementCount :: Int- _lhsOpretty =- ( zeroWidthText "elseif" <-> _x1Ipretty <-> zeroWidthText "then" $+$ _x2Ipretty- )- _lhsOisMultiline =- ( _x1IisMultiline || _x2IisMultiline- )- _x2Oindent =- ( _lhsIindent + 1- )- _x2OstatRegion =- ( emptyRg- )- _x1OparentOperatorPrecedence =- ( TopLevelExpression- )- _x1OparentOperatorAssociative =- ( True- )- _copy =- ( (_x1Icopy, _x2Icopy)- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _x2Icomments- )- _x1Ocomments =- ( _lhsIcomments- )- _x1OforceMultiline =- ( _lhsIforceMultiline- )- _x1Oindent =- ( _lhsIindent- )- _x1Oppconf =- ( _lhsIppconf- )- _x2Ocomments =- ( _x1Icomments- )- _x2OforceMultiline =- ( _lhsIforceMultiline- )- _x2Oppconf =- ( _lhsIppconf- )- (_x1Icomments, _x1Icopy, _x1IendsWithPrefixExpression, _x1IisAssociative, _x1IisLiteral, _x1IisMultiline, _x1Ipos, _x1Iprecedence, _x1Ipretty) =- x1_ _x1Ocomments _x1OforceMultiline _x1Oindent _x1OparentOperatorAssociative _x1OparentOperatorPrecedence _x1Oppconf- (_x2Icomments, _x2Icopy, _x2IisMultiline, _x2Ipretty, _x2IstatementCount) =- x2_ _x2Ocomments _x2OforceMultiline _x2Oindent _x2Oppconf _x2OstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)- )- )---- ElseIfList ----------------------------------------------------- cata-sem_ElseIfList- :: ElseIfList- -> T_ElseIfList-sem_ElseIfList list =- (Prelude.foldr sem_ElseIfList_Cons sem_ElseIfList_Nil (Prelude.map sem_MElseIf list))---- semantic domain-type T_ElseIfList =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), ElseIfList, Bool, Bool, Region, Doc)-data Inh_ElseIfList = Inh_ElseIfList {comments_Inh_ElseIfList :: ([MToken]), forceMultiline_Inh_ElseIfList :: Bool, indent_Inh_ElseIfList :: Int, ppconf_Inh_ElseIfList :: PrettyPrintConfig}-data Syn_ElseIfList = Syn_ElseIfList {comments_Syn_ElseIfList :: ([MToken]), copy_Syn_ElseIfList :: ElseIfList, elsesExist_Syn_ElseIfList :: Bool, isMultiline_Syn_ElseIfList :: Bool, pos_Syn_ElseIfList :: Region, pretty_Syn_ElseIfList :: Doc}-wrap_ElseIfList- :: T_ElseIfList- -> Inh_ElseIfList- -> Syn_ElseIfList-wrap_ElseIfList sem (Inh_ElseIfList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_ElseIfList _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty)- )-sem_ElseIfList_Cons- :: T_MElseIf- -> T_ElseIfList- -> T_ElseIfList-sem_ElseIfList_Cons hd_ tl_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOelsesExist :: Bool- _lhsOpos :: Region- _lhsOisMultiline :: Bool- _lhsOcopy :: ElseIfList- _lhsOcomments :: ([MToken])- _hdOcomments :: ([MToken])- _hdOforceMultiline :: Bool- _hdOindent :: Int- _hdOppconf :: PrettyPrintConfig- _tlOcomments :: ([MToken])- _tlOforceMultiline :: Bool- _tlOindent :: Int- _tlOppconf :: PrettyPrintConfig- _hdIcomments :: ([MToken])- _hdIcopy :: MElseIf- _hdIisMultiline :: Bool- _hdIpos :: Region- _hdIpretty :: Doc- _tlIcomments :: ([MToken])- _tlIcopy :: ElseIfList- _tlIelsesExist :: Bool- _tlIisMultiline :: Bool- _tlIpos :: Region- _tlIpretty :: Doc- _lhsOpretty =- ( indent _lhsIppconf _lhsIindent _hdIpretty $+$ _tlIpretty- )- _lhsOelsesExist =- ( True- )- _lhsOpos =- ( _hdIpos- )- _lhsOisMultiline =- ( _hdIisMultiline || _tlIisMultiline- )- _copy =- ( (:) _hdIcopy _tlIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _tlIcomments- )- _hdOcomments =- ( _lhsIcomments- )- _hdOforceMultiline =- ( _lhsIforceMultiline- )- _hdOindent =- ( _lhsIindent- )- _hdOppconf =- ( _lhsIppconf- )- _tlOcomments =- ( _hdIcomments- )- _tlOforceMultiline =- ( _lhsIforceMultiline- )- _tlOindent =- ( _lhsIindent- )- _tlOppconf =- ( _lhsIppconf- )- (_hdIcomments, _hdIcopy, _hdIisMultiline, _hdIpos, _hdIpretty) =- hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf- (_tlIcomments, _tlIcopy, _tlIelsesExist, _tlIisMultiline, _tlIpos, _tlIpretty) =- tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty)- )- )-sem_ElseIfList_Nil :: T_ElseIfList-sem_ElseIfList_Nil =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOpos :: Region- _lhsOisMultiline :: Bool- _lhsOelsesExist :: Bool- _lhsOcopy :: ElseIfList- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( empty- )- _lhsOpos =- ( emptyRg- )- _lhsOisMultiline =- ( False- )- _lhsOelsesExist =- ( False- )- _copy =- ( []- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty)- )- )---- Expr ----------------------------------------------------------- cata-sem_Expr- :: Expr- -> T_Expr-sem_Expr (ANil) =- (sem_Expr_ANil)-sem_Expr (AFalse) =- (sem_Expr_AFalse)-sem_Expr (ATrue) =- (sem_Expr_ATrue)-sem_Expr (ANumber _num) =- (sem_Expr_ANumber _num)-sem_Expr (AString _str) =- (sem_Expr_AString _str)-sem_Expr (AVarArg) =- (sem_Expr_AVarArg)-sem_Expr (AnonymousFunc _pars _body) =- (sem_Expr_AnonymousFunc _pars (sem_Block _body))-sem_Expr (APrefixExpr _pexpr) =- (sem_Expr_APrefixExpr (sem_PrefixExp _pexpr))-sem_Expr (ATableConstructor _fields) =- (sem_Expr_ATableConstructor (sem_FieldList _fields))-sem_Expr (BinOpExpr _op _left _right) =- (sem_Expr_BinOpExpr (sem_BinOp _op) (sem_MExpr _left) (sem_MExpr _right))-sem_Expr (UnOpExpr _op _right) =- (sem_Expr_UnOpExpr (sem_UnOp _op) (sem_MExpr _right))---- semantic domain-type T_Expr =- ([MToken])- -> Bool- -> Int- -> Bool- -> OperatorLevel- -> PrettyPrintConfig- -> Region- -> (([MToken]), Expr, Bool, Bool, Bool, Bool, OperatorLevel, Doc)-data Inh_Expr = Inh_Expr {comments_Inh_Expr :: ([MToken]), forceMultiline_Inh_Expr :: Bool, indent_Inh_Expr :: Int, parentOperatorAssociative_Inh_Expr :: Bool, parentOperatorPrecedence_Inh_Expr :: OperatorLevel, ppconf_Inh_Expr :: PrettyPrintConfig, statRegion_Inh_Expr :: Region}-data Syn_Expr = Syn_Expr {comments_Syn_Expr :: ([MToken]), copy_Syn_Expr :: Expr, endsWithPrefixExpression_Syn_Expr :: Bool, isAssociative_Syn_Expr :: Bool, isLiteral_Syn_Expr :: Bool, isMultiline_Syn_Expr :: Bool, precedence_Syn_Expr :: OperatorLevel, pretty_Syn_Expr :: Doc}-wrap_Expr- :: T_Expr- -> Inh_Expr- -> Syn_Expr-wrap_Expr sem (Inh_Expr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf _lhsIstatRegion) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf _lhsIstatRegion- in- (Syn_Expr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOprecedence _lhsOpretty)- )-sem_Expr_ANil :: T_Expr-sem_Expr_ANil =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOisLiteral :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "nil"- )- _lhsOisLiteral =- ( True- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( ANil- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_Expr_AFalse :: T_Expr-sem_Expr_AFalse =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOisLiteral :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "false"- )- _lhsOisLiteral =- ( True- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( AFalse- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_Expr_ATrue :: T_Expr-sem_Expr_ATrue =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOisLiteral :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "true"- )- _lhsOisLiteral =- ( True- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( ATrue- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_Expr_ANumber- :: String- -> T_Expr-sem_Expr_ANumber num_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOisLiteral :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText num_- )- _lhsOisLiteral =- ( True- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( ANumber num_- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_Expr_AString- :: MToken- -> T_Expr-sem_Expr_AString str_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOisLiteral :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( tok str_- )- _lhsOisLiteral =- ( True- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( AString str_- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_Expr_AVarArg :: T_Expr-sem_Expr_AVarArg =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOisLiteral :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "..."- )- _lhsOisLiteral =- ( True- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( AVarArg- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_Expr_AnonymousFunc- :: ([MToken])- -> T_Block- -> T_Expr-sem_Expr_AnonymousFunc pars_ body_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOendsWithPrefixExpression :: Bool- _bodyOindent :: Int- _lhsOpretty :: Doc- _lhsOisAssociative :: Bool- _lhsOisLiteral :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _lhsOisMultiline :: Bool- _bodyOcomments :: ([MToken])- _bodyOforceMultiline :: Bool- _bodyOppconf :: PrettyPrintConfig- _bodyOstatRegion :: Region- _bodyIcomments :: ([MToken])- _bodyIcopy :: Block- _bodyIisMultiline :: Bool- _bodyIpretty :: Doc- _bodyIstatementCount :: Int- _isMultiline =- ( _lhsIforceMultiline || _bodyIisMultiline- )- _lhsOendsWithPrefixExpression =- ( False- )- _singleLinePretty =- ( zeroWidthText "function"- <> parens _lhsIppconf _emptyParams (printList tok (render _comma) pars_)- <-> _bodyIpretty- <-> zeroWidthText "end"- )- _multilinePretty =- ( zeroWidthText "function"- <> parens _lhsIppconf _emptyParams (printList tok (render _comma) pars_)- $+$ _bodyIpretty- $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")- )- _comma =- ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)- <> zchr ','- <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)- )- _emptyParams =- ( toEmpty $ null pars_- )- _bodyOindent =- ( if _isMultiline then _lhsIindent + 1 else 0- )- _lhsOpretty =- ( if _isMultiline then _multilinePretty else _singleLinePretty- )- _lhsOisAssociative =- ( False- )- _lhsOisLiteral =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( AnonymousFunc pars_ _bodyIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _bodyIcomments- )- _lhsOisMultiline =- ( _isMultiline- )- _bodyOcomments =- ( _lhsIcomments- )- _bodyOforceMultiline =- ( _lhsIforceMultiline- )- _bodyOppconf =- ( _lhsIppconf- )- _bodyOstatRegion =- ( _lhsIstatRegion- )- (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =- body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_Expr_APrefixExpr- :: T_PrefixExp- -> T_Expr-sem_Expr_APrefixExpr pexpr_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOisLiteral :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _pexprOcomments :: ([MToken])- _pexprOforceMultiline :: Bool- _pexprOindent :: Int- _pexprOparentOperatorAssociative :: Bool- _pexprOparentOperatorPrecedence :: OperatorLevel- _pexprOppconf :: PrettyPrintConfig- _pexprIcomments :: ([MToken])- _pexprIcopy :: PrefixExp- _pexprIisAssociative :: Bool- _pexprIisLiteral :: Bool- _pexprIisMultiline :: Bool- _pexprIprecedence :: OperatorLevel- _pexprIpretty :: Doc- _pexprIstartsWithExprPrefixExpression :: Bool- _lhsOpretty =- ( _pexprIpretty- )- _lhsOendsWithPrefixExpression =- ( True- )- _lhsOisMultiline =- ( _pexprIisMultiline- )- _lhsOisAssociative =- ( _pexprIisAssociative- )- _lhsOisLiteral =- ( _pexprIisLiteral- )- _lhsOprecedence =- ( _pexprIprecedence- )- _copy =- ( APrefixExpr _pexprIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _pexprIcomments- )- _pexprOcomments =- ( _lhsIcomments- )- _pexprOforceMultiline =- ( _lhsIforceMultiline- )- _pexprOindent =- ( _lhsIindent- )- _pexprOparentOperatorAssociative =- ( _lhsIparentOperatorAssociative- )- _pexprOparentOperatorPrecedence =- ( _lhsIparentOperatorPrecedence- )- _pexprOppconf =- ( _lhsIppconf- )- (_pexprIcomments, _pexprIcopy, _pexprIisAssociative, _pexprIisLiteral, _pexprIisMultiline, _pexprIprecedence, _pexprIpretty, _pexprIstartsWithExprPrefixExpression) =- pexpr_ _pexprOcomments _pexprOforceMultiline _pexprOindent _pexprOparentOperatorAssociative _pexprOparentOperatorPrecedence _pexprOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_Expr_ATableConstructor- :: T_FieldList- -> T_Expr-sem_Expr_ATableConstructor fields_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOisLiteral :: Bool- _lhsOendsWithPrefixExpression :: Bool- _fieldsOindent :: Int- _fieldsOsomeElementsInListAreMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _lhsOisMultiline :: Bool- _fieldsOcomments :: ([MToken])- _fieldsOforceMultiline :: Bool- _fieldsOppconf :: PrettyPrintConfig- _fieldsIcomments :: ([MToken])- _fieldsIcopy :: FieldList- _fieldsIisMultiline :: Bool- _fieldsIisNil :: Bool- _fieldsIpretty :: Doc- _lhsOpretty =- ( if _isMultiline then _prettyMulti else _prettySingle- )- _isMultiline =- ( _lhsIforceMultiline || _fieldsIisMultiline- )- _lhsOisLiteral =- ( True- )- _lhsOendsWithPrefixExpression =- ( False- )- _prettyMulti =- ( zchr '{' $+$ _fieldsIpretty $+$ indent _lhsIppconf _lhsIindent (zchr '}')- )- _prettySingle =- ( braces _lhsIppconf _emptyContents _fieldsIpretty- )- _emptyContents =- ( toEmpty $ null _fieldsIcopy- )- _fieldsOindent =- ( _lhsIindent + (if _fieldsIisMultiline then 1 else 0)- )- _fieldsOsomeElementsInListAreMultiline =- ( False- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( ATableConstructor _fieldsIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _fieldsIcomments- )- _lhsOisMultiline =- ( _isMultiline- )- _fieldsOcomments =- ( _lhsIcomments- )- _fieldsOforceMultiline =- ( _lhsIforceMultiline- )- _fieldsOppconf =- ( _lhsIppconf- )- (_fieldsIcomments, _fieldsIcopy, _fieldsIisMultiline, _fieldsIisNil, _fieldsIpretty) =- fields_ _fieldsOcomments _fieldsOforceMultiline _fieldsOindent _fieldsOppconf _fieldsOsomeElementsInListAreMultiline- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_Expr_BinOpExpr- :: T_BinOp- -> T_MExpr- -> T_MExpr- -> T_Expr-sem_Expr_BinOpExpr op_ left_ right_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOendsWithPrefixExpression :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOisMultiline :: Bool- _leftOparentOperatorPrecedence :: OperatorLevel- _rightOparentOperatorPrecedence :: OperatorLevel- _leftOparentOperatorAssociative :: Bool- _rightOparentOperatorAssociative :: Bool- _lhsOisAssociative :: Bool- _lhsOisLiteral :: Bool- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _opOcomments :: ([MToken])- _opOindent :: Int- _opOppconf :: PrettyPrintConfig- _leftOcomments :: ([MToken])- _leftOforceMultiline :: Bool- _leftOindent :: Int- _leftOppconf :: PrettyPrintConfig- _rightOcomments :: ([MToken])- _rightOforceMultiline :: Bool- _rightOindent :: Int- _rightOppconf :: PrettyPrintConfig- _opIcomments :: ([MToken])- _opIcopy :: BinOp- _opIisAssociative :: Bool- _opIisMultiline :: Bool- _opIprecedence :: OperatorLevel- _opIpretty :: Doc- _leftIcomments :: ([MToken])- _leftIcopy :: MExpr- _leftIendsWithPrefixExpression :: Bool- _leftIisAssociative :: Bool- _leftIisLiteral :: Bool- _leftIisMultiline :: Bool- _leftIpos :: Region- _leftIprecedence :: OperatorLevel- _leftIpretty :: Doc- _rightIcomments :: ([MToken])- _rightIcopy :: MExpr- _rightIendsWithPrefixExpression :: Bool- _rightIisAssociative :: Bool- _rightIisLiteral :: Bool- _rightIisMultiline :: Bool- _rightIpos :: Region- _rightIprecedence :: OperatorLevel- _rightIpretty :: Doc- _lhsOpretty =- ( _leftIpretty <-> _opIpretty <-> _rightIpretty- )- _lhsOendsWithPrefixExpression =- ( _rightIendsWithPrefixExpression- )- _lhsOprecedence =- ( min _opIprecedence $ min _leftIprecedence _rightIprecedence- )- _lhsOisMultiline =- ( _leftIisMultiline || _rightIisMultiline- )- _leftOparentOperatorPrecedence =- ( _opIprecedence- )- _rightOparentOperatorPrecedence =- ( _opIprecedence- )- _leftOparentOperatorAssociative =- ( _opIisAssociative- )- _rightOparentOperatorAssociative =- ( _opIisAssociative- )- _lhsOisAssociative =- ( _opIisAssociative && _leftIisAssociative && _rightIisAssociative- )- _lhsOisLiteral =- ( ((\_ _ -> False) _leftIisLiteral _rightIisLiteral)- )- _copy =- ( BinOpExpr _opIcopy _leftIcopy _rightIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _rightIcomments- )- _opOcomments =- ( _lhsIcomments- )- _opOindent =- ( _lhsIindent- )- _opOppconf =- ( _lhsIppconf- )- _leftOcomments =- ( _opIcomments- )- _leftOforceMultiline =- ( _lhsIforceMultiline- )- _leftOindent =- ( _lhsIindent- )- _leftOppconf =- ( _lhsIppconf- )- _rightOcomments =- ( _leftIcomments- )- _rightOforceMultiline =- ( _lhsIforceMultiline- )- _rightOindent =- ( _lhsIindent- )- _rightOppconf =- ( _lhsIppconf- )- (_opIcomments, _opIcopy, _opIisAssociative, _opIisMultiline, _opIprecedence, _opIpretty) =- op_ _opOcomments _opOindent _opOppconf- (_leftIcomments, _leftIcopy, _leftIendsWithPrefixExpression, _leftIisAssociative, _leftIisLiteral, _leftIisMultiline, _leftIpos, _leftIprecedence, _leftIpretty) =- left_ _leftOcomments _leftOforceMultiline _leftOindent _leftOparentOperatorAssociative _leftOparentOperatorPrecedence _leftOppconf- (_rightIcomments, _rightIcopy, _rightIendsWithPrefixExpression, _rightIisAssociative, _rightIisLiteral, _rightIisMultiline, _rightIpos, _rightIprecedence, _rightIpretty) =- right_ _rightOcomments _rightOforceMultiline _rightOindent _rightOparentOperatorAssociative _rightOparentOperatorPrecedence _rightOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_Expr_UnOpExpr- :: T_UnOp- -> T_MExpr- -> T_Expr-sem_Expr_UnOpExpr op_ right_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOprecedence :: OperatorLevel- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _rightOparentOperatorPrecedence :: OperatorLevel- _lhsOisAssociative :: Bool- _lhsOisLiteral :: Bool- _lhsOcopy :: Expr- _lhsOcomments :: ([MToken])- _opOcomments :: ([MToken])- _opOindent :: Int- _opOppconf :: PrettyPrintConfig- _rightOcomments :: ([MToken])- _rightOforceMultiline :: Bool- _rightOindent :: Int- _rightOparentOperatorAssociative :: Bool- _rightOppconf :: PrettyPrintConfig- _opIcomments :: ([MToken])- _opIcopy :: UnOp- _opIisMultiline :: Bool- _opIpretty :: Doc- _rightIcomments :: ([MToken])- _rightIcopy :: MExpr- _rightIendsWithPrefixExpression :: Bool- _rightIisAssociative :: Bool- _rightIisLiteral :: Bool- _rightIisMultiline :: Bool- _rightIpos :: Region- _rightIprecedence :: OperatorLevel- _rightIpretty :: Doc- _lhsOpretty =- ( _opIpretty <> _rightIpretty- )- _lhsOprecedence =- ( min _rightIprecedence OperatorLevel7- )- _lhsOendsWithPrefixExpression =- ( _rightIendsWithPrefixExpression- )- _lhsOisMultiline =- ( _opIisMultiline || _rightIisMultiline- )- _rightOparentOperatorPrecedence =- ( OperatorLevel7- )- _lhsOisAssociative =- ( _rightIisAssociative- )- _lhsOisLiteral =- ( _rightIisLiteral- )- _copy =- ( UnOpExpr _opIcopy _rightIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _rightIcomments- )- _opOcomments =- ( _lhsIcomments- )- _opOindent =- ( _lhsIindent- )- _opOppconf =- ( _lhsIppconf- )- _rightOcomments =- ( _opIcomments- )- _rightOforceMultiline =- ( _lhsIforceMultiline- )- _rightOindent =- ( _lhsIindent- )- _rightOparentOperatorAssociative =- ( _lhsIparentOperatorAssociative- )- _rightOppconf =- ( _lhsIppconf- )- (_opIcomments, _opIcopy, _opIisMultiline, _opIpretty) =- op_ _opOcomments _opOindent _opOppconf- (_rightIcomments, _rightIcopy, _rightIendsWithPrefixExpression, _rightIisAssociative, _rightIisLiteral, _rightIisMultiline, _rightIpos, _rightIprecedence, _rightIpretty) =- right_ _rightOcomments _rightOforceMultiline _rightOindent _rightOparentOperatorAssociative _rightOparentOperatorPrecedence _rightOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )---- ExprSuffixList ------------------------------------------------- cata-sem_ExprSuffixList- :: ExprSuffixList- -> T_ExprSuffixList-sem_ExprSuffixList list =- (Prelude.foldr sem_ExprSuffixList_Cons sem_ExprSuffixList_Nil (Prelude.map sem_PFExprSuffix list))---- semantic domain-type T_ExprSuffixList =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), ExprSuffixList, Bool, Bool, OperatorLevel, Doc)-data Inh_ExprSuffixList = Inh_ExprSuffixList {comments_Inh_ExprSuffixList :: ([MToken]), forceMultiline_Inh_ExprSuffixList :: Bool, indent_Inh_ExprSuffixList :: Int, ppconf_Inh_ExprSuffixList :: PrettyPrintConfig}-data Syn_ExprSuffixList = Syn_ExprSuffixList {comments_Syn_ExprSuffixList :: ([MToken]), copy_Syn_ExprSuffixList :: ExprSuffixList, isAssociative_Syn_ExprSuffixList :: Bool, isMultiline_Syn_ExprSuffixList :: Bool, precedence_Syn_ExprSuffixList :: OperatorLevel, pretty_Syn_ExprSuffixList :: Doc}-wrap_ExprSuffixList- :: T_ExprSuffixList- -> Inh_ExprSuffixList- -> Syn_ExprSuffixList-wrap_ExprSuffixList sem (Inh_ExprSuffixList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_ExprSuffixList _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty)- )-sem_ExprSuffixList_Cons- :: T_PFExprSuffix- -> T_ExprSuffixList- -> T_ExprSuffixList-sem_ExprSuffixList_Cons hd_ tl_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: ExprSuffixList- _lhsOcomments :: ([MToken])- _hdOcomments :: ([MToken])- _hdOforceMultiline :: Bool- _hdOindent :: Int- _hdOppconf :: PrettyPrintConfig- _tlOcomments :: ([MToken])- _tlOforceMultiline :: Bool- _tlOindent :: Int- _tlOppconf :: PrettyPrintConfig- _hdIcomments :: ([MToken])- _hdIcopy :: PFExprSuffix- _hdIisAssociative :: Bool- _hdIisMultiline :: Bool- _hdIprecedence :: OperatorLevel- _hdIpretty :: Doc- _tlIcomments :: ([MToken])- _tlIcopy :: ExprSuffixList- _tlIisAssociative :: Bool- _tlIisMultiline :: Bool- _tlIprecedence :: OperatorLevel- _tlIpretty :: Doc- _lhsOpretty =- ( _hdIpretty <> _tlIpretty- )- _lhsOisMultiline =- ( _hdIisMultiline || _tlIisMultiline- )- _lhsOisAssociative =- ( _hdIisAssociative && _tlIisAssociative- )- _lhsOprecedence =- ( (min _hdIprecedence _tlIprecedence)- )- _copy =- ( (:) _hdIcopy _tlIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _tlIcomments- )- _hdOcomments =- ( _lhsIcomments- )- _hdOforceMultiline =- ( _lhsIforceMultiline- )- _hdOindent =- ( _lhsIindent- )- _hdOppconf =- ( _lhsIppconf- )- _tlOcomments =- ( _hdIcomments- )- _tlOforceMultiline =- ( _lhsIforceMultiline- )- _tlOindent =- ( _lhsIindent- )- _tlOppconf =- ( _lhsIppconf- )- (_hdIcomments, _hdIcopy, _hdIisAssociative, _hdIisMultiline, _hdIprecedence, _hdIpretty) =- hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf- (_tlIcomments, _tlIcopy, _tlIisAssociative, _tlIisMultiline, _tlIprecedence, _tlIpretty) =- tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_ExprSuffixList_Nil :: T_ExprSuffixList-sem_ExprSuffixList_Nil =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: ExprSuffixList- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( empty- )- _lhsOisMultiline =- ( False- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( []- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )---- Field ---------------------------------------------------------- cata-sem_Field- :: Field- -> T_Field-sem_Field (ExprField _key _value _sep) =- (sem_Field_ExprField (sem_MExpr _key) (sem_MExpr _value) (sem_FieldSep _sep))-sem_Field (NamedField _key _value _sep) =- (sem_Field_NamedField _key (sem_MExpr _value) (sem_FieldSep _sep))-sem_Field (UnnamedField _value _sep) =- (sem_Field_UnnamedField (sem_MExpr _value) (sem_FieldSep _sep))---- semantic domain-type T_Field =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), Field, Bool, Bool, Region, Doc)-data Inh_Field = Inh_Field {comments_Inh_Field :: ([MToken]), forceMultiline_Inh_Field :: Bool, indent_Inh_Field :: Int, ppconf_Inh_Field :: PrettyPrintConfig}-data Syn_Field = Syn_Field {comments_Syn_Field :: ([MToken]), copy_Syn_Field :: Field, isMultiline_Syn_Field :: Bool, isSemiColon_Syn_Field :: Bool, pos_Syn_Field :: Region, pretty_Syn_Field :: Doc}-wrap_Field- :: T_Field- -> Inh_Field- -> Syn_Field-wrap_Field sem (Inh_Field _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_Field _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOisSemiColon _lhsOpos _lhsOpretty)- )-sem_Field_ExprField- :: T_MExpr- -> T_MExpr- -> T_FieldSep- -> T_Field-sem_Field_ExprField key_ value_ sep_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _keyOparentOperatorPrecedence :: OperatorLevel- _keyOparentOperatorAssociative :: Bool- _valueOparentOperatorPrecedence :: OperatorLevel- _valueOparentOperatorAssociative :: Bool- _lhsOisSemiColon :: Bool- _lhsOcopy :: Field- _lhsOcomments :: ([MToken])- _lhsOpos :: Region- _keyOcomments :: ([MToken])- _keyOforceMultiline :: Bool- _keyOindent :: Int- _keyOppconf :: PrettyPrintConfig- _valueOcomments :: ([MToken])- _valueOforceMultiline :: Bool- _valueOindent :: Int- _valueOppconf :: PrettyPrintConfig- _sepOindent :: Int- _sepOppconf :: PrettyPrintConfig- _keyIcomments :: ([MToken])- _keyIcopy :: MExpr- _keyIendsWithPrefixExpression :: Bool- _keyIisAssociative :: Bool- _keyIisLiteral :: Bool- _keyIisMultiline :: Bool- _keyIpos :: Region- _keyIprecedence :: OperatorLevel- _keyIpretty :: Doc- _valueIcomments :: ([MToken])- _valueIcopy :: MExpr- _valueIendsWithPrefixExpression :: Bool- _valueIisAssociative :: Bool- _valueIisLiteral :: Bool- _valueIisMultiline :: Bool- _valueIpos :: Region- _valueIprecedence :: OperatorLevel- _valueIpretty :: Doc- _sepIcopy :: FieldSep- _sepIisMultiline :: Bool- _sepIisSemiColon :: Bool- _sepIpretty :: Doc- _lhsOpretty =- ( brackets _lhsIppconf _keyIpretty <-> zchr '=' <-> _valueIpretty <> _sepIpretty- )- _lhsOisMultiline =- ( True- )- _keyOparentOperatorPrecedence =- ( TopLevelExpression- )- _keyOparentOperatorAssociative =- ( True- )- _valueOparentOperatorPrecedence =- ( TopLevelExpression- )- _valueOparentOperatorAssociative =- ( True- )- _lhsOisSemiColon =- ( _sepIisSemiColon- )- _copy =- ( ExprField _keyIcopy _valueIcopy _sepIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _valueIcomments- )- _lhsOpos =- ( _valueIpos- )- _keyOcomments =- ( _lhsIcomments- )- _keyOforceMultiline =- ( _lhsIforceMultiline- )- _keyOindent =- ( _lhsIindent- )- _keyOppconf =- ( _lhsIppconf- )- _valueOcomments =- ( _keyIcomments- )- _valueOforceMultiline =- ( _lhsIforceMultiline- )- _valueOindent =- ( _lhsIindent- )- _valueOppconf =- ( _lhsIppconf- )- _sepOindent =- ( _lhsIindent- )- _sepOppconf =- ( _lhsIppconf- )- (_keyIcomments, _keyIcopy, _keyIendsWithPrefixExpression, _keyIisAssociative, _keyIisLiteral, _keyIisMultiline, _keyIpos, _keyIprecedence, _keyIpretty) =- key_ _keyOcomments _keyOforceMultiline _keyOindent _keyOparentOperatorAssociative _keyOparentOperatorPrecedence _keyOppconf- (_valueIcomments, _valueIcopy, _valueIendsWithPrefixExpression, _valueIisAssociative, _valueIisLiteral, _valueIisMultiline, _valueIpos, _valueIprecedence, _valueIpretty) =- value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf- (_sepIcopy, _sepIisMultiline, _sepIisSemiColon, _sepIpretty) =- sep_ _sepOindent _sepOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpos, _lhsOpretty)- )- )-sem_Field_NamedField- :: MToken- -> T_MExpr- -> T_FieldSep- -> T_Field-sem_Field_NamedField key_ value_ sep_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _valueOparentOperatorPrecedence :: OperatorLevel- _valueOparentOperatorAssociative :: Bool- _lhsOisSemiColon :: Bool- _lhsOcopy :: Field- _lhsOcomments :: ([MToken])- _lhsOpos :: Region- _valueOcomments :: ([MToken])- _valueOforceMultiline :: Bool- _valueOindent :: Int- _valueOppconf :: PrettyPrintConfig- _sepOindent :: Int- _sepOppconf :: PrettyPrintConfig- _valueIcomments :: ([MToken])- _valueIcopy :: MExpr- _valueIendsWithPrefixExpression :: Bool- _valueIisAssociative :: Bool- _valueIisLiteral :: Bool- _valueIisMultiline :: Bool- _valueIpos :: Region- _valueIprecedence :: OperatorLevel- _valueIpretty :: Doc- _sepIcopy :: FieldSep- _sepIisMultiline :: Bool- _sepIisSemiColon :: Bool- _sepIpretty :: Doc- _lhsOpretty =- ( tok key_ <-> zchr '=' <-> _valueIpretty <> _sepIpretty- )- _lhsOisMultiline =- ( True- )- _valueOparentOperatorPrecedence =- ( TopLevelExpression- )- _valueOparentOperatorAssociative =- ( True- )- _lhsOisSemiColon =- ( _sepIisSemiColon- )- _copy =- ( NamedField key_ _valueIcopy _sepIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _valueIcomments- )- _lhsOpos =- ( _valueIpos- )- _valueOcomments =- ( _lhsIcomments- )- _valueOforceMultiline =- ( _lhsIforceMultiline- )- _valueOindent =- ( _lhsIindent- )- _valueOppconf =- ( _lhsIppconf- )- _sepOindent =- ( _lhsIindent- )- _sepOppconf =- ( _lhsIppconf- )- (_valueIcomments, _valueIcopy, _valueIendsWithPrefixExpression, _valueIisAssociative, _valueIisLiteral, _valueIisMultiline, _valueIpos, _valueIprecedence, _valueIpretty) =- value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf- (_sepIcopy, _sepIisMultiline, _sepIisSemiColon, _sepIpretty) =- sep_ _sepOindent _sepOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpos, _lhsOpretty)- )- )-sem_Field_UnnamedField- :: T_MExpr- -> T_FieldSep- -> T_Field-sem_Field_UnnamedField value_ sep_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _valueOparentOperatorPrecedence :: OperatorLevel- _valueOparentOperatorAssociative :: Bool- _lhsOisSemiColon :: Bool- _lhsOcopy :: Field- _lhsOcomments :: ([MToken])- _lhsOpos :: Region- _valueOcomments :: ([MToken])- _valueOforceMultiline :: Bool- _valueOindent :: Int- _valueOppconf :: PrettyPrintConfig- _sepOindent :: Int- _sepOppconf :: PrettyPrintConfig- _valueIcomments :: ([MToken])- _valueIcopy :: MExpr- _valueIendsWithPrefixExpression :: Bool- _valueIisAssociative :: Bool- _valueIisLiteral :: Bool- _valueIisMultiline :: Bool- _valueIpos :: Region- _valueIprecedence :: OperatorLevel- _valueIpretty :: Doc- _sepIcopy :: FieldSep- _sepIisMultiline :: Bool- _sepIisSemiColon :: Bool- _sepIpretty :: Doc- _lhsOpretty =- ( _valueIpretty <> _sepIpretty- )- _lhsOisMultiline =- ( _valueIisMultiline || _sepIisMultiline- )- _valueOparentOperatorPrecedence =- ( TopLevelExpression- )- _valueOparentOperatorAssociative =- ( True- )- _lhsOisSemiColon =- ( _sepIisSemiColon- )- _copy =- ( UnnamedField _valueIcopy _sepIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _valueIcomments- )- _lhsOpos =- ( _valueIpos- )- _valueOcomments =- ( _lhsIcomments- )- _valueOforceMultiline =- ( _lhsIforceMultiline- )- _valueOindent =- ( _lhsIindent- )- _valueOppconf =- ( _lhsIppconf- )- _sepOindent =- ( _lhsIindent- )- _sepOppconf =- ( _lhsIppconf- )- (_valueIcomments, _valueIcopy, _valueIendsWithPrefixExpression, _valueIisAssociative, _valueIisLiteral, _valueIisMultiline, _valueIpos, _valueIprecedence, _valueIpretty) =- value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf- (_sepIcopy, _sepIisMultiline, _sepIisSemiColon, _sepIpretty) =- sep_ _sepOindent _sepOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpos, _lhsOpretty)- )- )---- FieldList ------------------------------------------------------ cata-sem_FieldList- :: FieldList- -> T_FieldList-sem_FieldList list =- (Prelude.foldr sem_FieldList_Cons sem_FieldList_Nil (Prelude.map sem_Field list))---- semantic domain-type T_FieldList =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> Bool- -> (([MToken]), FieldList, Bool, Bool, Doc)-data Inh_FieldList = Inh_FieldList {comments_Inh_FieldList :: ([MToken]), forceMultiline_Inh_FieldList :: Bool, indent_Inh_FieldList :: Int, ppconf_Inh_FieldList :: PrettyPrintConfig, someElementsInListAreMultiline_Inh_FieldList :: Bool}-data Syn_FieldList = Syn_FieldList {comments_Syn_FieldList :: ([MToken]), copy_Syn_FieldList :: FieldList, isMultiline_Syn_FieldList :: Bool, isNil_Syn_FieldList :: Bool, pretty_Syn_FieldList :: Doc}-wrap_FieldList- :: T_FieldList- -> Inh_FieldList- -> Syn_FieldList-wrap_FieldList sem (Inh_FieldList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisNil, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline- in- (Syn_FieldList _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOisNil _lhsOpretty)- )-sem_FieldList_Cons- :: T_Field- -> T_FieldList- -> T_FieldList-sem_FieldList_Cons hd_ tl_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf- _lhsIsomeElementsInListAreMultiline ->- ( let- _lhsOpretty :: Doc- _lhsOisNil :: Bool- _tlOsomeElementsInListAreMultiline :: Bool- _hdOcomments :: ([MToken])- _tlOcomments :: ([MToken])- _lhsOcomments :: ([MToken])- _lhsOcopy :: FieldList- _lhsOisMultiline :: Bool- _hdOforceMultiline :: Bool- _hdOindent :: Int- _hdOppconf :: PrettyPrintConfig- _tlOforceMultiline :: Bool- _tlOindent :: Int- _tlOppconf :: PrettyPrintConfig- _hdIcomments :: ([MToken])- _hdIcopy :: Field- _hdIisMultiline :: Bool- _hdIisSemiColon :: Bool- _hdIpos :: Region- _hdIpretty :: Doc- _tlIcomments :: ([MToken])- _tlIcopy :: FieldList- _tlIisMultiline :: Bool- _tlIisNil :: Bool- _tlIpretty :: Doc- _lhsOpretty =- ( if _isMultiline- then- renderMLComments _lhsIppconf _lhsIindent (fst _commentsBefore)- $+$ indent _lhsIppconf _lhsIindent _hdIpretty- <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter)- $+$ _tlIpretty- else- _hdIpretty- `_optionalSpaceAfterSep` _tlIpretty- )- _lhsOisNil =- ( False- )- _optionalSpaceAfterSep =- ( if spaceAfterComma _lhsIppconf then (<->) else (<>)- )- _isMultiline =- ( _lhsIforceMultiline- || _hdIisMultiline- || _tlIisMultiline- || _lhsIsomeElementsInListAreMultiline- || not (null $ fst _commentsBefore)- || not (null $ fst _commentsAfter)- )- _tlOsomeElementsInListAreMultiline =- ( _lhsIsomeElementsInListAreMultiline- || _hdIisMultiline- || not (null $ fst _commentsBefore)- || not (null $ fst _commentsAfter)- )- _commentsBefore =- ( span (\(MToken pos _) -> pos `before` _hdIpos) _lhsIcomments- )- _hdOcomments =- ( snd _commentsBefore- )- _commentsAfter =- ( span (\(MToken pos _) -> pos `beforeOrOnLine` _hdIpos) _hdIcomments- )- _tlOcomments =- ( snd _commentsAfter- )- _lhsOcomments =- ( _tlIcomments- )- _copy =- ( (:) _hdIcopy _tlIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOisMultiline =- ( _isMultiline- )- _hdOforceMultiline =- ( _lhsIforceMultiline- )- _hdOindent =- ( _lhsIindent- )- _hdOppconf =- ( _lhsIppconf- )- _tlOforceMultiline =- ( _lhsIforceMultiline- )- _tlOindent =- ( _lhsIindent- )- _tlOppconf =- ( _lhsIppconf- )- (_hdIcomments, _hdIcopy, _hdIisMultiline, _hdIisSemiColon, _hdIpos, _hdIpretty) =- hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf- (_tlIcomments, _tlIcopy, _tlIisMultiline, _tlIisNil, _tlIpretty) =- tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf _tlOsomeElementsInListAreMultiline- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisNil, _lhsOpretty)- )- )-sem_FieldList_Nil :: T_FieldList-sem_FieldList_Nil =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf- _lhsIsomeElementsInListAreMultiline ->- ( let- _lhsOpretty :: Doc- _lhsOisNil :: Bool- _lhsOisMultiline :: Bool- _lhsOcopy :: FieldList- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( empty- )- _lhsOisNil =- ( True- )- _lhsOisMultiline =- ( False- )- _copy =- ( []- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOisNil, _lhsOpretty)- )- )---- FieldSep ------------------------------------------------------- cata-sem_FieldSep- :: FieldSep- -> T_FieldSep-sem_FieldSep (CommaSep) =- (sem_FieldSep_CommaSep)-sem_FieldSep (SemicolonSep) =- (sem_FieldSep_SemicolonSep)-sem_FieldSep (NoSep) =- (sem_FieldSep_NoSep)---- semantic domain-type T_FieldSep =- Int- -> PrettyPrintConfig- -> (FieldSep, Bool, Bool, Doc)-data Inh_FieldSep = Inh_FieldSep {indent_Inh_FieldSep :: Int, ppconf_Inh_FieldSep :: PrettyPrintConfig}-data Syn_FieldSep = Syn_FieldSep {copy_Syn_FieldSep :: FieldSep, isMultiline_Syn_FieldSep :: Bool, isSemiColon_Syn_FieldSep :: Bool, pretty_Syn_FieldSep :: Doc}-wrap_FieldSep- :: T_FieldSep- -> Inh_FieldSep- -> Syn_FieldSep-wrap_FieldSep sem (Inh_FieldSep _lhsIindent _lhsIppconf) =- ( let- (_lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpretty) = sem _lhsIindent _lhsIppconf- in- (Syn_FieldSep _lhsOcopy _lhsOisMultiline _lhsOisSemiColon _lhsOpretty)- )-sem_FieldSep_CommaSep :: T_FieldSep-sem_FieldSep_CommaSep =- ( \_lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOisSemiColon :: Bool- _lhsOcopy :: FieldSep- _lhsOpretty =- ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ','- )- _lhsOisMultiline =- ( False- )- _lhsOisSemiColon =- ( False- )- _copy =- ( CommaSep- )- _lhsOcopy =- ( _copy- )- in- (_lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpretty)- )- )-sem_FieldSep_SemicolonSep :: T_FieldSep-sem_FieldSep_SemicolonSep =- ( \_lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisSemiColon :: Bool- _lhsOisMultiline :: Bool- _lhsOcopy :: FieldSep- _lhsOpretty =- ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ';'- )- _lhsOisSemiColon =- ( True- )- _lhsOisMultiline =- ( True- )- _copy =- ( SemicolonSep- )- _lhsOcopy =- ( _copy- )- in- (_lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpretty)- )- )-sem_FieldSep_NoSep :: T_FieldSep-sem_FieldSep_NoSep =- ( \_lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOisSemiColon :: Bool- _lhsOcopy :: FieldSep- _lhsOpretty =- ( empty- )- _lhsOisMultiline =- ( False- )- _lhsOisSemiColon =- ( False- )- _copy =- ( NoSep- )- _lhsOcopy =- ( _copy- )- in- (_lhsOcopy, _lhsOisMultiline, _lhsOisSemiColon, _lhsOpretty)- )- )---- FuncName ------------------------------------------------------- cata-sem_FuncName- :: FuncName- -> T_FuncName-sem_FuncName (FuncName _names _meta) =- (sem_FuncName_FuncName _names _meta)---- semantic domain-type T_FuncName =- ([MToken])- -> Int- -> PrettyPrintConfig- -> (([MToken]), FuncName, Bool, Region, Doc)-data Inh_FuncName = Inh_FuncName {comments_Inh_FuncName :: ([MToken]), indent_Inh_FuncName :: Int, ppconf_Inh_FuncName :: PrettyPrintConfig}-data Syn_FuncName = Syn_FuncName {comments_Syn_FuncName :: ([MToken]), copy_Syn_FuncName :: FuncName, isMultiline_Syn_FuncName :: Bool, pos_Syn_FuncName :: Region, pretty_Syn_FuncName :: Doc}-wrap_FuncName- :: T_FuncName- -> Inh_FuncName- -> Syn_FuncName-wrap_FuncName sem (Inh_FuncName _lhsIcomments _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf- in- (Syn_FuncName _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpos _lhsOpretty)- )-sem_FuncName_FuncName- :: ([MToken])- -> (Maybe MToken)- -> T_FuncName-sem_FuncName_FuncName names_ meta_ =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOpos :: Region- _lhsOcopy :: FuncName- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( printList tok "." names_ <> metaDoc meta_- )- _lhsOisMultiline =- ( False- )- _lhsOpos =- ( case meta_ of- Nothing -> _namesPos- Just name -> rgOr _namesPos (mpos name)- )- _namesPos =- ( foldl1 rgOr $ map mpos names_- )- _copy =- ( FuncName names_ meta_- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpos, _lhsOpretty)- )- )---- MElse ---------------------------------------------------------- cata-sem_MElse- :: MElse- -> T_MElse-sem_MElse (MElse _pos _body) =- (sem_MElse_MElse _pos (sem_Block _body))---- semantic domain-type T_MElse =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> Region- -> (([MToken]), MElse, Bool, Bool, Region, Doc)-data Inh_MElse = Inh_MElse {comments_Inh_MElse :: ([MToken]), forceMultiline_Inh_MElse :: Bool, indent_Inh_MElse :: Int, ppconf_Inh_MElse :: PrettyPrintConfig, statRegion_Inh_MElse :: Region}-data Syn_MElse = Syn_MElse {comments_Syn_MElse :: ([MToken]), copy_Syn_MElse :: MElse, elsesExist_Syn_MElse :: Bool, isMultiline_Syn_MElse :: Bool, pos_Syn_MElse :: Region, pretty_Syn_MElse :: Doc}-wrap_MElse- :: T_MElse- -> Inh_MElse- -> Syn_MElse-wrap_MElse sem (Inh_MElse _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion- in- (Syn_MElse _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty)- )-sem_MElse_MElse- :: Region- -> T_Block- -> T_MElse-sem_MElse_MElse pos_ body_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _bodyOindent :: Int- _lhsOpos :: Region- _bodyOcomments :: ([MToken])- _lhsOelsesExist :: Bool- _lhsOcopy :: MElse- _lhsOcomments :: ([MToken])- _bodyOforceMultiline :: Bool- _bodyOppconf :: PrettyPrintConfig- _bodyOstatRegion :: Region- _bodyIcomments :: ([MToken])- _bodyIcopy :: Block- _bodyIisMultiline :: Bool- _bodyIpretty :: Doc- _bodyIstatementCount :: Int- _lhsOpretty =- ( indent _lhsIppconf _lhsIindent (zeroWidthText "else")- <-> _prettyCommentsAfter- $+$ _bodyIpretty- )- _lhsOisMultiline =- ( _bodyIisMultiline- )- _bodyOindent =- ( _lhsIindent + 1- )- _prettyCommentsAfter =- ( renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter)- )- _commentsAfter =- ( span (\(MToken pos _) -> pos `beforeOrOnLine` pos_) _lhsIcomments- )- _lhsOpos =- ( pos_- )- _bodyOcomments =- ( snd _commentsAfter- )- _lhsOelsesExist =- ( False- )- _copy =- ( MElse pos_ _bodyIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _bodyIcomments- )- _bodyOforceMultiline =- ( _lhsIforceMultiline- )- _bodyOppconf =- ( _lhsIppconf- )- _bodyOstatRegion =- ( _lhsIstatRegion- )- (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =- body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOelsesExist, _lhsOisMultiline, _lhsOpos, _lhsOpretty)- )- )---- MElseIf -------------------------------------------------------- cata-sem_MElseIf- :: MElseIf- -> T_MElseIf-sem_MElseIf (MElseIf _pos _elif) =- (sem_MElseIf_MElseIf _pos (sem_ElseIf _elif))---- semantic domain-type T_MElseIf =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), MElseIf, Bool, Region, Doc)-data Inh_MElseIf = Inh_MElseIf {comments_Inh_MElseIf :: ([MToken]), forceMultiline_Inh_MElseIf :: Bool, indent_Inh_MElseIf :: Int, ppconf_Inh_MElseIf :: PrettyPrintConfig}-data Syn_MElseIf = Syn_MElseIf {comments_Syn_MElseIf :: ([MToken]), copy_Syn_MElseIf :: MElseIf, isMultiline_Syn_MElseIf :: Bool, pos_Syn_MElseIf :: Region, pretty_Syn_MElseIf :: Doc}-wrap_MElseIf- :: T_MElseIf- -> Inh_MElseIf- -> Syn_MElseIf-wrap_MElseIf sem (Inh_MElseIf _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpos, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_MElseIf _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpos _lhsOpretty)- )-sem_MElseIf_MElseIf- :: Region- -> T_ElseIf- -> T_MElseIf-sem_MElseIf_MElseIf pos_ elif_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpos :: Region- _lhsOisMultiline :: Bool- _lhsOcopy :: MElseIf- _lhsOcomments :: ([MToken])- _lhsOpretty :: Doc- _elifOcomments :: ([MToken])- _elifOforceMultiline :: Bool- _elifOindent :: Int- _elifOppconf :: PrettyPrintConfig- _elifIcomments :: ([MToken])- _elifIcopy :: ElseIf- _elifIisMultiline :: Bool- _elifIpretty :: Doc- _lhsOpos =- ( pos_- )- _lhsOisMultiline =- ( _elifIisMultiline- )- _copy =- ( MElseIf pos_ _elifIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _elifIcomments- )- _lhsOpretty =- ( _elifIpretty- )- _elifOcomments =- ( _lhsIcomments- )- _elifOforceMultiline =- ( _lhsIforceMultiline- )- _elifOindent =- ( _lhsIindent- )- _elifOppconf =- ( _lhsIppconf- )- (_elifIcomments, _elifIcopy, _elifIisMultiline, _elifIpretty) =- elif_ _elifOcomments _elifOforceMultiline _elifOindent _elifOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpos, _lhsOpretty)- )- )---- MExpr ---------------------------------------------------------- cata-sem_MExpr- :: MExpr- -> T_MExpr-sem_MExpr (MExpr _pos _expr) =- (sem_MExpr_MExpr _pos (sem_Expr _expr))---- semantic domain-type T_MExpr =- ([MToken])- -> Bool- -> Int- -> Bool- -> OperatorLevel- -> PrettyPrintConfig- -> (([MToken]), MExpr, Bool, Bool, Bool, Bool, Region, OperatorLevel, Doc)-data Inh_MExpr = Inh_MExpr {comments_Inh_MExpr :: ([MToken]), forceMultiline_Inh_MExpr :: Bool, indent_Inh_MExpr :: Int, parentOperatorAssociative_Inh_MExpr :: Bool, parentOperatorPrecedence_Inh_MExpr :: OperatorLevel, ppconf_Inh_MExpr :: PrettyPrintConfig}-data Syn_MExpr = Syn_MExpr {comments_Syn_MExpr :: ([MToken]), copy_Syn_MExpr :: MExpr, endsWithPrefixExpression_Syn_MExpr :: Bool, isAssociative_Syn_MExpr :: Bool, isLiteral_Syn_MExpr :: Bool, isMultiline_Syn_MExpr :: Bool, pos_Syn_MExpr :: Region, precedence_Syn_MExpr :: OperatorLevel, pretty_Syn_MExpr :: Doc}-wrap_MExpr- :: T_MExpr- -> Inh_MExpr- -> Syn_MExpr-wrap_MExpr sem (Inh_MExpr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOpos, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf- in- (Syn_MExpr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOpos _lhsOprecedence _lhsOpretty)- )-sem_MExpr_MExpr- :: Region- -> T_Expr- -> T_MExpr-sem_MExpr_MExpr pos_ expr_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf ->- ( let- _lhsOpos :: Region- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _exprOstatRegion :: Region- _lhsOisAssociative :: Bool- _lhsOisLiteral :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: MExpr- _lhsOcomments :: ([MToken])- _lhsOpretty :: Doc- _exprOcomments :: ([MToken])- _exprOforceMultiline :: Bool- _exprOindent :: Int- _exprOparentOperatorAssociative :: Bool- _exprOparentOperatorPrecedence :: OperatorLevel- _exprOppconf :: PrettyPrintConfig- _exprIcomments :: ([MToken])- _exprIcopy :: Expr- _exprIendsWithPrefixExpression :: Bool- _exprIisAssociative :: Bool- _exprIisLiteral :: Bool- _exprIisMultiline :: Bool- _exprIprecedence :: OperatorLevel- _exprIpretty :: Doc- _lhsOpos =- ( pos_- )- _lhsOendsWithPrefixExpression =- ( _exprIendsWithPrefixExpression- )- _lhsOisMultiline =- ( _exprIisMultiline- )- _exprOstatRegion =- ( pos_- )- _lhsOisAssociative =- ( _exprIisAssociative- )- _lhsOisLiteral =- ( _exprIisLiteral- )- _lhsOprecedence =- ( _exprIprecedence- )- _copy =- ( MExpr pos_ _exprIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _exprIcomments- )- _lhsOpretty =- ( _exprIpretty- )- _exprOcomments =- ( _lhsIcomments- )- _exprOforceMultiline =- ( _lhsIforceMultiline- )- _exprOindent =- ( _lhsIindent- )- _exprOparentOperatorAssociative =- ( _lhsIparentOperatorAssociative- )- _exprOparentOperatorPrecedence =- ( _lhsIparentOperatorPrecedence- )- _exprOppconf =- ( _lhsIppconf- )- (_exprIcomments, _exprIcopy, _exprIendsWithPrefixExpression, _exprIisAssociative, _exprIisLiteral, _exprIisMultiline, _exprIprecedence, _exprIpretty) =- expr_ _exprOcomments _exprOforceMultiline _exprOindent _exprOparentOperatorAssociative _exprOparentOperatorPrecedence _exprOppconf _exprOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOpos, _lhsOprecedence, _lhsOpretty)- )- )---- MExprList ------------------------------------------------------ cata-sem_MExprList- :: MExprList- -> T_MExprList-sem_MExprList list =- (Prelude.foldr sem_MExprList_Cons sem_MExprList_Nil (Prelude.map sem_MExpr list))---- semantic domain-type T_MExprList =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> Bool- -> (([MToken]), MExprList, Bool, Bool, Bool, Region, OperatorLevel, Doc)-data Inh_MExprList = Inh_MExprList {comments_Inh_MExprList :: ([MToken]), forceMultiline_Inh_MExprList :: Bool, indent_Inh_MExprList :: Int, ppconf_Inh_MExprList :: PrettyPrintConfig, someElementsInListAreMultiline_Inh_MExprList :: Bool}-data Syn_MExprList = Syn_MExprList {comments_Syn_MExprList :: ([MToken]), copy_Syn_MExprList :: MExprList, isAssociative_Syn_MExprList :: Bool, isLast_Syn_MExprList :: Bool, isMultiline_Syn_MExprList :: Bool, pos_Syn_MExprList :: Region, precedence_Syn_MExprList :: OperatorLevel, pretty_Syn_MExprList :: Doc}-wrap_MExprList- :: T_MExprList- -> Inh_MExprList- -> Syn_MExprList-wrap_MExprList sem (Inh_MExprList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLast, _lhsOisMultiline, _lhsOpos, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline- in- (Syn_MExprList _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisLast _lhsOisMultiline _lhsOpos _lhsOprecedence _lhsOpretty)- )-sem_MExprList_Cons- :: T_MExpr- -> T_MExprList- -> T_MExprList-sem_MExprList_Cons hd_ tl_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf- _lhsIsomeElementsInListAreMultiline ->- ( let- _lhsOpretty :: Doc- _hdOcomments :: ([MToken])- _tlOcomments :: ([MToken])- _lhsOcomments :: ([MToken])- _lhsOpos :: Region- _lhsOisLast :: Bool- _hdOparentOperatorPrecedence :: OperatorLevel- _hdOparentOperatorAssociative :: Bool- _tlOsomeElementsInListAreMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: MExprList- _lhsOisMultiline :: Bool- _hdOforceMultiline :: Bool- _hdOindent :: Int- _hdOppconf :: PrettyPrintConfig- _tlOforceMultiline :: Bool- _tlOindent :: Int- _tlOppconf :: PrettyPrintConfig- _hdIcomments :: ([MToken])- _hdIcopy :: MExpr- _hdIendsWithPrefixExpression :: Bool- _hdIisAssociative :: Bool- _hdIisLiteral :: Bool- _hdIisMultiline :: Bool- _hdIpos :: Region- _hdIprecedence :: OperatorLevel- _hdIpretty :: Doc- _tlIcomments :: ([MToken])- _tlIcopy :: MExprList- _tlIisAssociative :: Bool- _tlIisLast :: Bool- _tlIisMultiline :: Bool- _tlIpos :: Region- _tlIprecedence :: OperatorLevel- _tlIpretty :: Doc- _lhsOpretty =- ( if _isMultiline then _prettyMultiLine else _prettySingleLine- )- _prettySingleLine =- ( _hdIpretty- <> _comma- <> _tlIpretty- )- _prettyMultiLine =- ( renderMLComments _lhsIppconf _lhsIindent (fst _commentsBeforeLine)- $+$ indent _lhsIppconf _lhsIindent _hdIpretty- <> _comma- <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter)- $+$ _tlIpretty- )- _comma =- ( if _tlIisLast- then empty- else- (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)- <> zchr ','- <> (if not _isMultiline && spaceAfterComma _lhsIppconf then zchr ' ' else empty)- )- _commentsBeforeLine =- ( span (\(MToken pos' _) -> pos' `before` _hdIpos) _lhsIcomments- )- _hdOcomments =- ( snd _commentsBeforeLine- )- _commentsAfter =- ( span (\(MToken pos' _) -> pos' `before` _tlIpos) _hdIcomments- )- _tlOcomments =- ( snd _commentsAfter- )- _lhsOcomments =- ( _tlIcomments- )- _lhsOpos =- ( _hdIpos- )- _lhsOisLast =- ( False- )- _hdOparentOperatorPrecedence =- ( TopLevelExpression- )- _hdOparentOperatorAssociative =- ( True- )- _isMultiline =- ( _lhsIforceMultiline- || not (null $ fst _commentsBeforeLine)- || not (null $ fst _commentsAfter)- || _lhsIsomeElementsInListAreMultiline- || _hdIisMultiline- || _tlIisMultiline- )- _tlOsomeElementsInListAreMultiline =- ( _lhsIsomeElementsInListAreMultiline- || _hdIisMultiline- || not (null $ fst _commentsBeforeLine)- || not (null $ fst _commentsAfter)- )- _lhsOisAssociative =- ( _hdIisAssociative && _tlIisAssociative- )- _lhsOprecedence =- ( (min _hdIprecedence _tlIprecedence)- )- _copy =- ( (:) _hdIcopy _tlIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOisMultiline =- ( _isMultiline- )- _hdOforceMultiline =- ( _lhsIforceMultiline- )- _hdOindent =- ( _lhsIindent- )- _hdOppconf =- ( _lhsIppconf- )- _tlOforceMultiline =- ( _lhsIforceMultiline- )- _tlOindent =- ( _lhsIindent- )- _tlOppconf =- ( _lhsIppconf- )- (_hdIcomments, _hdIcopy, _hdIendsWithPrefixExpression, _hdIisAssociative, _hdIisLiteral, _hdIisMultiline, _hdIpos, _hdIprecedence, _hdIpretty) =- hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOparentOperatorAssociative _hdOparentOperatorPrecedence _hdOppconf- (_tlIcomments, _tlIcopy, _tlIisAssociative, _tlIisLast, _tlIisMultiline, _tlIpos, _tlIprecedence, _tlIpretty) =- tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf _tlOsomeElementsInListAreMultiline- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLast, _lhsOisMultiline, _lhsOpos, _lhsOprecedence, _lhsOpretty)- )- )-sem_MExprList_Nil :: T_MExprList-sem_MExprList_Nil =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf- _lhsIsomeElementsInListAreMultiline ->- ( let- _lhsOpretty :: Doc- _lhsOpos :: Region- _lhsOisMultiline :: Bool- _lhsOisLast :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: MExprList- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( empty- )- _lhsOpos =- ( emptyRg- )- _lhsOisMultiline =- ( False- )- _lhsOisLast =- ( True- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( []- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLast, _lhsOisMultiline, _lhsOpos, _lhsOprecedence, _lhsOpretty)- )- )---- MStat ---------------------------------------------------------- cata-sem_MStat- :: MStat- -> T_MStat-sem_MStat (MStat _pos _stat) =- (sem_MStat_MStat _pos (sem_Stat _stat))---- semantic domain-type T_MStat =- ([MToken])- -> Bool- -> Int- -> Bool- -> PrettyPrintConfig- -> Bool- -> (([MToken]), MStat, Bool, Bool, Region, Doc, Bool, Int)-data Inh_MStat = Inh_MStat {comments_Inh_MStat :: ([MToken]), forceMultiline_Inh_MStat :: Bool, indent_Inh_MStat :: Int, isLastStatement_Inh_MStat :: Bool, ppconf_Inh_MStat :: PrettyPrintConfig, wouldBeAmbiguousWithoutSemicolon_Inh_MStat :: Bool}-data Syn_MStat = Syn_MStat {comments_Syn_MStat :: ([MToken]), copy_Syn_MStat :: MStat, endsWithPrefixExpression_Syn_MStat :: Bool, isMultiline_Syn_MStat :: Bool, pos_Syn_MStat :: Region, pretty_Syn_MStat :: Doc, startsWithExprPrefixExpression_Syn_MStat :: Bool, statementCount_Syn_MStat :: Int}-wrap_MStat- :: T_MStat- -> Inh_MStat- -> Syn_MStat-wrap_MStat sem (Inh_MStat _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIwouldBeAmbiguousWithoutSemicolon) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpos, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIwouldBeAmbiguousWithoutSemicolon- in- (Syn_MStat _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisMultiline _lhsOpos _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOstatementCount)- )-sem_MStat_MStat- :: Region- -> T_Stat- -> T_MStat-sem_MStat_MStat pos_ stat_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOpos :: Region- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _statOstatRegion :: Region- _statOwouldBeAmbiguousWithoutSemicolon :: Bool- _lhsOstatementCount :: Int- _lhsOcopy :: MStat- _lhsOcomments :: ([MToken])- _lhsOpretty :: Doc- _statOcomments :: ([MToken])- _statOforceMultiline :: Bool- _statOindent :: Int- _statOisLastStatement :: Bool- _statOppconf :: PrettyPrintConfig- _statIcomments :: ([MToken])- _statIcopy :: Stat- _statIendsWithPrefixExpression :: Bool- _statIisMultiline :: Bool- _statIpretty :: Doc- _statIstartsWithExprPrefixExpression :: Bool- _lhsOpos =- ( pos_- )- _lhsOstartsWithExprPrefixExpression =- ( _statIstartsWithExprPrefixExpression- )- _lhsOendsWithPrefixExpression =- ( _statIendsWithPrefixExpression- )- _lhsOisMultiline =- ( _statIisMultiline- )- _statOstatRegion =- ( pos_- )- _statOwouldBeAmbiguousWithoutSemicolon =- ( _lhsIwouldBeAmbiguousWithoutSemicolon- )- _lhsOstatementCount =- ( 1- )- _copy =- ( MStat pos_ _statIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _statIcomments- )- _lhsOpretty =- ( _statIpretty- )- _statOcomments =- ( _lhsIcomments- )- _statOforceMultiline =- ( _lhsIforceMultiline- )- _statOindent =- ( _lhsIindent- )- _statOisLastStatement =- ( _lhsIisLastStatement- )- _statOppconf =- ( _lhsIppconf- )- (_statIcomments, _statIcopy, _statIendsWithPrefixExpression, _statIisMultiline, _statIpretty, _statIstartsWithExprPrefixExpression) =- stat_ _statOcomments _statOforceMultiline _statOindent _statOisLastStatement _statOppconf _statOstatRegion _statOwouldBeAmbiguousWithoutSemicolon- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpos, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOstatementCount)- )- )---- MStatList ------------------------------------------------------ cata-sem_MStatList- :: MStatList- -> T_MStatList-sem_MStatList list =- (Prelude.foldr sem_MStatList_Cons sem_MStatList_Nil (Prelude.map sem_MStat list))---- semantic domain-type T_MStatList =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> Region- -> (([MToken]), MStatList, Bool, Bool, Doc, Bool, Int)-data Inh_MStatList = Inh_MStatList {comments_Inh_MStatList :: ([MToken]), forceMultiline_Inh_MStatList :: Bool, indent_Inh_MStatList :: Int, ppconf_Inh_MStatList :: PrettyPrintConfig, statRegion_Inh_MStatList :: Region}-data Syn_MStatList = Syn_MStatList {comments_Syn_MStatList :: ([MToken]), copy_Syn_MStatList :: MStatList, isLast_Syn_MStatList :: Bool, isMultiline_Syn_MStatList :: Bool, pretty_Syn_MStatList :: Doc, startsWithExprPrefixExpression_Syn_MStatList :: Bool, statementCount_Syn_MStatList :: Int}-wrap_MStatList- :: T_MStatList- -> Inh_MStatList- -> Syn_MStatList-wrap_MStatList sem (Inh_MStatList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion- in- (Syn_MStatList _lhsOcomments _lhsOcopy _lhsOisLast _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOstatementCount)- )-sem_MStatList_Cons- :: T_MStat- -> T_MStatList- -> T_MStatList-sem_MStatList_Cons hd_ tl_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOisLast :: Bool- _hdOcomments :: ([MToken])- _tlOcomments :: ([MToken])- _lhsOcomments :: ([MToken])- _hdOisLastStatement :: Bool- _hdOwouldBeAmbiguousWithoutSemicolon :: Bool- _hdOforceMultiline :: Bool- _lhsOstatementCount :: Int- _lhsOcopy :: MStatList- _lhsOisMultiline :: Bool- _hdOindent :: Int- _hdOppconf :: PrettyPrintConfig- _tlOforceMultiline :: Bool- _tlOindent :: Int- _tlOppconf :: PrettyPrintConfig- _tlOstatRegion :: Region- _hdIcomments :: ([MToken])- _hdIcopy :: MStat- _hdIendsWithPrefixExpression :: Bool- _hdIisMultiline :: Bool- _hdIpos :: Region- _hdIpretty :: Doc- _hdIstartsWithExprPrefixExpression :: Bool- _hdIstatementCount :: Int- _tlIcomments :: ([MToken])- _tlIcopy :: MStatList- _tlIisLast :: Bool- _tlIisMultiline :: Bool- _tlIpretty :: Doc- _tlIstartsWithExprPrefixExpression :: Bool- _tlIstatementCount :: Int- _lhsOpretty =- ( renderMLComments _lhsIppconf _lhsIindent (fst _commentsBeforeLine)- $+$ indent _lhsIppconf _lhsIindent _hdIpretty- <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter)- <> _addNewline- $+$ _tlIpretty- )- _lhsOstartsWithExprPrefixExpression =- ( _hdIstartsWithExprPrefixExpression- )- _lhsOisLast =- ( False- )- _isMultiline =- ( _hdIisMultiline- || _tlIisMultiline- || not (null $ fst _commentsBeforeLine)- || not (null $ fst _commentsAfter)- )- _addNewline =- ( if not _tlIisLast && _hdIisMultiline then zchr '\n' else empty- )- _commentsBeforeLine =- ( span (\(MToken pos' _) -> pos' `before` _hdIpos) _lhsIcomments- )- _hdOcomments =- ( snd _commentsBeforeLine- )- _commentsAfter =- ( span (\(MToken pos' _) -> pos' `beforeOrOnLine` _hdIpos) _hdIcomments- )- _tlOcomments =- ( snd _commentsAfter- )- _lhsOcomments =- ( _tlIcomments- )- _hdOisLastStatement =- ( _tlIisLast- )- _hdOwouldBeAmbiguousWithoutSemicolon =- ( _hdIendsWithPrefixExpression && _tlIstartsWithExprPrefixExpression- )- _hdOforceMultiline =- ( commentsForceMultiline $ fst _commentsBeforeLine- )- _lhsOstatementCount =- ( _hdIstatementCount + _tlIstatementCount- )- _copy =- ( (:) _hdIcopy _tlIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOisMultiline =- ( _isMultiline- )- _hdOindent =- ( _lhsIindent- )- _hdOppconf =- ( _lhsIppconf- )- _tlOforceMultiline =- ( _lhsIforceMultiline- )- _tlOindent =- ( _lhsIindent- )- _tlOppconf =- ( _lhsIppconf- )- _tlOstatRegion =- ( _lhsIstatRegion- )- (_hdIcomments, _hdIcopy, _hdIendsWithPrefixExpression, _hdIisMultiline, _hdIpos, _hdIpretty, _hdIstartsWithExprPrefixExpression, _hdIstatementCount) =- hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOisLastStatement _hdOppconf _hdOwouldBeAmbiguousWithoutSemicolon- (_tlIcomments, _tlIcopy, _tlIisLast, _tlIisMultiline, _tlIpretty, _tlIstartsWithExprPrefixExpression, _tlIstatementCount) =- tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf _tlOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOstatementCount)- )- )-sem_MStatList_Nil :: T_MStatList-sem_MStatList_Nil =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf- _lhsIstatRegion ->- ( let- _lhsOpretty :: Doc- _lhsOstatementCount :: Int- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisLast :: Bool- _lhsOcopy :: MStatList- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( empty- )- _lhsOstatementCount =- ( 0- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _lhsOisLast =- ( True- )- _copy =- ( []- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOstatementCount)- )- )---- MaybeMExpr ----------------------------------------------------- cata-sem_MaybeMExpr- :: MaybeMExpr- -> T_MaybeMExpr-sem_MaybeMExpr (Prelude.Just x) =- (sem_MaybeMExpr_Just (sem_MExpr x))-sem_MaybeMExpr Prelude.Nothing =- sem_MaybeMExpr_Nothing---- semantic domain-type T_MaybeMExpr =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), MaybeMExpr, Bool, Bool, Bool, Bool, OperatorLevel, Doc)-data Inh_MaybeMExpr = Inh_MaybeMExpr {comments_Inh_MaybeMExpr :: ([MToken]), forceMultiline_Inh_MaybeMExpr :: Bool, indent_Inh_MaybeMExpr :: Int, ppconf_Inh_MaybeMExpr :: PrettyPrintConfig}-data Syn_MaybeMExpr = Syn_MaybeMExpr {comments_Syn_MaybeMExpr :: ([MToken]), copy_Syn_MaybeMExpr :: MaybeMExpr, endsWithPrefixExpression_Syn_MaybeMExpr :: Bool, isAssociative_Syn_MaybeMExpr :: Bool, isDefined_Syn_MaybeMExpr :: Bool, isMultiline_Syn_MaybeMExpr :: Bool, precedence_Syn_MaybeMExpr :: OperatorLevel, pretty_Syn_MaybeMExpr :: Doc}-wrap_MaybeMExpr- :: T_MaybeMExpr- -> Inh_MaybeMExpr- -> Syn_MaybeMExpr-wrap_MaybeMExpr sem (Inh_MaybeMExpr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisDefined, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_MaybeMExpr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisDefined _lhsOisMultiline _lhsOprecedence _lhsOpretty)- )-sem_MaybeMExpr_Just- :: T_MExpr- -> T_MaybeMExpr-sem_MaybeMExpr_Just just_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisDefined :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _justOparentOperatorPrecedence :: OperatorLevel- _justOparentOperatorAssociative :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: MaybeMExpr- _lhsOcomments :: ([MToken])- _justOcomments :: ([MToken])- _justOforceMultiline :: Bool- _justOindent :: Int- _justOppconf :: PrettyPrintConfig- _justIcomments :: ([MToken])- _justIcopy :: MExpr- _justIendsWithPrefixExpression :: Bool- _justIisAssociative :: Bool- _justIisLiteral :: Bool- _justIisMultiline :: Bool- _justIpos :: Region- _justIprecedence :: OperatorLevel- _justIpretty :: Doc- _lhsOpretty =- ( _justIpretty- )- _lhsOisDefined =- ( True- )- _lhsOendsWithPrefixExpression =- ( _justIendsWithPrefixExpression- )- _lhsOisMultiline =- ( _justIisMultiline- )- _justOparentOperatorPrecedence =- ( TopLevelExpression- )- _justOparentOperatorAssociative =- ( True- )- _lhsOisAssociative =- ( _justIisAssociative- )- _lhsOprecedence =- ( _justIprecedence- )- _copy =- ( Just _justIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _justIcomments- )- _justOcomments =- ( _lhsIcomments- )- _justOforceMultiline =- ( _lhsIforceMultiline- )- _justOindent =- ( _lhsIindent- )- _justOppconf =- ( _lhsIppconf- )- (_justIcomments, _justIcopy, _justIendsWithPrefixExpression, _justIisAssociative, _justIisLiteral, _justIisMultiline, _justIpos, _justIprecedence, _justIpretty) =- just_ _justOcomments _justOforceMultiline _justOindent _justOparentOperatorAssociative _justOparentOperatorPrecedence _justOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisDefined, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_MaybeMExpr_Nothing :: T_MaybeMExpr-sem_MaybeMExpr_Nothing =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisDefined :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: MaybeMExpr- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( empty- )- _lhsOisDefined =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( Nothing- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisAssociative, _lhsOisDefined, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )---- PFExprSuffix --------------------------------------------------- cata-sem_PFExprSuffix- :: PFExprSuffix- -> T_PFExprSuffix-sem_PFExprSuffix (Call _args) =- (sem_PFExprSuffix_Call (sem_Args _args))-sem_PFExprSuffix (MetaCall _fn _args) =- (sem_PFExprSuffix_MetaCall _fn (sem_Args _args))-sem_PFExprSuffix (ExprIndex _index) =- (sem_PFExprSuffix_ExprIndex (sem_MExpr _index))-sem_PFExprSuffix (DotIndex _index) =- (sem_PFExprSuffix_DotIndex _index)---- semantic domain-type T_PFExprSuffix =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), PFExprSuffix, Bool, Bool, OperatorLevel, Doc)-data Inh_PFExprSuffix = Inh_PFExprSuffix {comments_Inh_PFExprSuffix :: ([MToken]), forceMultiline_Inh_PFExprSuffix :: Bool, indent_Inh_PFExprSuffix :: Int, ppconf_Inh_PFExprSuffix :: PrettyPrintConfig}-data Syn_PFExprSuffix = Syn_PFExprSuffix {comments_Syn_PFExprSuffix :: ([MToken]), copy_Syn_PFExprSuffix :: PFExprSuffix, isAssociative_Syn_PFExprSuffix :: Bool, isMultiline_Syn_PFExprSuffix :: Bool, precedence_Syn_PFExprSuffix :: OperatorLevel, pretty_Syn_PFExprSuffix :: Doc}-wrap_PFExprSuffix- :: T_PFExprSuffix- -> Inh_PFExprSuffix- -> Syn_PFExprSuffix-wrap_PFExprSuffix sem (Inh_PFExprSuffix _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_PFExprSuffix _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty)- )-sem_PFExprSuffix_Call- :: T_Args- -> T_PFExprSuffix-sem_PFExprSuffix_Call args_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: PFExprSuffix- _lhsOcomments :: ([MToken])- _argsOcomments :: ([MToken])- _argsOforceMultiline :: Bool- _argsOindent :: Int- _argsOppconf :: PrettyPrintConfig- _argsIcomments :: ([MToken])- _argsIcopy :: Args- _argsIisMultiline :: Bool- _argsIpretty :: Doc- _lhsOpretty =- ( _argsIpretty- )- _lhsOisMultiline =- ( _argsIisMultiline- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( Call _argsIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _argsIcomments- )- _argsOcomments =- ( _lhsIcomments- )- _argsOforceMultiline =- ( _lhsIforceMultiline- )- _argsOindent =- ( _lhsIindent- )- _argsOppconf =- ( _lhsIppconf- )- (_argsIcomments, _argsIcopy, _argsIisMultiline, _argsIpretty) =- args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_PFExprSuffix_MetaCall- :: MToken- -> T_Args- -> T_PFExprSuffix-sem_PFExprSuffix_MetaCall fn_ args_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: PFExprSuffix- _lhsOcomments :: ([MToken])- _argsOcomments :: ([MToken])- _argsOforceMultiline :: Bool- _argsOindent :: Int- _argsOppconf :: PrettyPrintConfig- _argsIcomments :: ([MToken])- _argsIcopy :: Args- _argsIisMultiline :: Bool- _argsIpretty :: Doc- _lhsOpretty =- ( zchr ':' <> tok fn_ <> _argsIpretty- )- _lhsOisMultiline =- ( _argsIisMultiline- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( MetaCall fn_ _argsIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _argsIcomments- )- _argsOcomments =- ( _lhsIcomments- )- _argsOforceMultiline =- ( _lhsIforceMultiline- )- _argsOindent =- ( _lhsIindent- )- _argsOppconf =- ( _lhsIppconf- )- (_argsIcomments, _argsIcopy, _argsIisMultiline, _argsIpretty) =- args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_PFExprSuffix_ExprIndex- :: T_MExpr- -> T_PFExprSuffix-sem_PFExprSuffix_ExprIndex index_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _indexOparentOperatorPrecedence :: OperatorLevel- _indexOparentOperatorAssociative :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: PFExprSuffix- _lhsOcomments :: ([MToken])- _indexOcomments :: ([MToken])- _indexOforceMultiline :: Bool- _indexOindent :: Int- _indexOppconf :: PrettyPrintConfig- _indexIcomments :: ([MToken])- _indexIcopy :: MExpr- _indexIendsWithPrefixExpression :: Bool- _indexIisAssociative :: Bool- _indexIisLiteral :: Bool- _indexIisMultiline :: Bool- _indexIpos :: Region- _indexIprecedence :: OperatorLevel- _indexIpretty :: Doc- _lhsOpretty =- ( brackets _lhsIppconf _indexIpretty- )- _lhsOisMultiline =- ( _indexIisMultiline- )- _indexOparentOperatorPrecedence =- ( TopLevelExpression- )- _indexOparentOperatorAssociative =- ( True- )- _lhsOisAssociative =- ( _indexIisAssociative- )- _lhsOprecedence =- ( _indexIprecedence- )- _copy =- ( ExprIndex _indexIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _indexIcomments- )- _indexOcomments =- ( _lhsIcomments- )- _indexOforceMultiline =- ( _lhsIforceMultiline- )- _indexOindent =- ( _lhsIindent- )- _indexOppconf =- ( _lhsIppconf- )- (_indexIcomments, _indexIcopy, _indexIendsWithPrefixExpression, _indexIisAssociative, _indexIisLiteral, _indexIisMultiline, _indexIpos, _indexIprecedence, _indexIpretty) =- index_ _indexOcomments _indexOforceMultiline _indexOindent _indexOparentOperatorAssociative _indexOparentOperatorPrecedence _indexOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )-sem_PFExprSuffix_DotIndex- :: MToken- -> T_PFExprSuffix-sem_PFExprSuffix_DotIndex index_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: PFExprSuffix- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zchr '.' <> tok index_- )- _lhsOisMultiline =- ( False- )- _lhsOisAssociative =- ( False- )- _lhsOprecedence =- ( OperatorLevel8- )- _copy =- ( DotIndex index_- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty)- )- )---- PrefixExp ------------------------------------------------------ cata-sem_PrefixExp- :: PrefixExp- -> T_PrefixExp-sem_PrefixExp (PFVar _name _suffixes) =- (sem_PrefixExp_PFVar _name (sem_ExprSuffixList _suffixes))-sem_PrefixExp (ExprVar _expr _suffixes) =- (sem_PrefixExp_ExprVar (sem_MExpr _expr) (sem_ExprSuffixList _suffixes))---- semantic domain-type T_PrefixExp =- ([MToken])- -> Bool- -> Int- -> Bool- -> OperatorLevel- -> PrettyPrintConfig- -> (([MToken]), PrefixExp, Bool, Bool, Bool, OperatorLevel, Doc, Bool)-data Inh_PrefixExp = Inh_PrefixExp {comments_Inh_PrefixExp :: ([MToken]), forceMultiline_Inh_PrefixExp :: Bool, indent_Inh_PrefixExp :: Int, parentOperatorAssociative_Inh_PrefixExp :: Bool, parentOperatorPrecedence_Inh_PrefixExp :: OperatorLevel, ppconf_Inh_PrefixExp :: PrettyPrintConfig}-data Syn_PrefixExp = Syn_PrefixExp {comments_Syn_PrefixExp :: ([MToken]), copy_Syn_PrefixExp :: PrefixExp, isAssociative_Syn_PrefixExp :: Bool, isLiteral_Syn_PrefixExp :: Bool, isMultiline_Syn_PrefixExp :: Bool, precedence_Syn_PrefixExp :: OperatorLevel, pretty_Syn_PrefixExp :: Doc, startsWithExprPrefixExpression_Syn_PrefixExp :: Bool}-wrap_PrefixExp- :: T_PrefixExp- -> Inh_PrefixExp- -> Syn_PrefixExp-wrap_PrefixExp sem (Inh_PrefixExp _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty, _lhsOstartsWithExprPrefixExpression) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf- in- (Syn_PrefixExp _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOprecedence _lhsOpretty _lhsOstartsWithExprPrefixExpression)- )-sem_PrefixExp_PFVar- :: MToken- -> T_ExprSuffixList- -> T_PrefixExp-sem_PrefixExp_PFVar name_ suffixes_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisLiteral :: Bool- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOprecedence :: OperatorLevel- _lhsOcopy :: PrefixExp- _lhsOcomments :: ([MToken])- _suffixesOcomments :: ([MToken])- _suffixesOforceMultiline :: Bool- _suffixesOindent :: Int- _suffixesOppconf :: PrettyPrintConfig- _suffixesIcomments :: ([MToken])- _suffixesIcopy :: ExprSuffixList- _suffixesIisAssociative :: Bool- _suffixesIisMultiline :: Bool- _suffixesIprecedence :: OperatorLevel- _suffixesIpretty :: Doc- _lhsOpretty =- ( tok name_ <> _suffixesIpretty- )- _lhsOisLiteral =- ( False- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOisMultiline =- ( _suffixesIisMultiline- )- _lhsOisAssociative =- ( _suffixesIisAssociative- )- _lhsOprecedence =- ( _suffixesIprecedence- )- _copy =- ( PFVar name_ _suffixesIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _suffixesIcomments- )- _suffixesOcomments =- ( _lhsIcomments- )- _suffixesOforceMultiline =- ( _lhsIforceMultiline- )- _suffixesOindent =- ( _lhsIindent- )- _suffixesOppconf =- ( _lhsIppconf- )- (_suffixesIcomments, _suffixesIcopy, _suffixesIisAssociative, _suffixesIisMultiline, _suffixesIprecedence, _suffixesIpretty) =- suffixes_ _suffixesOcomments _suffixesOforceMultiline _suffixesOindent _suffixesOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_PrefixExp_ExprVar- :: T_MExpr- -> T_ExprSuffixList- -> T_PrefixExp-sem_PrefixExp_ExprVar expr_ suffixes_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIparentOperatorAssociative- _lhsIparentOperatorPrecedence- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOprecedence :: OperatorLevel- _lhsOisLiteral :: Bool- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisAssociative :: Bool- _lhsOcopy :: PrefixExp- _lhsOcomments :: ([MToken])- _exprOcomments :: ([MToken])- _exprOforceMultiline :: Bool- _exprOindent :: Int- _exprOparentOperatorAssociative :: Bool- _exprOparentOperatorPrecedence :: OperatorLevel- _exprOppconf :: PrettyPrintConfig- _suffixesOcomments :: ([MToken])- _suffixesOforceMultiline :: Bool- _suffixesOindent :: Int- _suffixesOppconf :: PrettyPrintConfig- _exprIcomments :: ([MToken])- _exprIcopy :: MExpr- _exprIendsWithPrefixExpression :: Bool- _exprIisAssociative :: Bool- _exprIisLiteral :: Bool- _exprIisMultiline :: Bool- _exprIpos :: Region- _exprIprecedence :: OperatorLevel- _exprIpretty :: Doc- _suffixesIcomments :: ([MToken])- _suffixesIcopy :: ExprSuffixList- _suffixesIisAssociative :: Bool- _suffixesIisMultiline :: Bool- _suffixesIprecedence :: OperatorLevel- _suffixesIpretty :: Doc- _lhsOpretty =- ( (if _noparens then _exprIpretty else parens _lhsIppconf NonEmpty _exprIpretty)- <> _suffixesIpretty- )- _lhsOprecedence =- ( if _noparens then _exprIprecedence else OperatorLevel8- )- _lhsOisLiteral =- ( False- )- _lhsOstartsWithExprPrefixExpression =- ( True- )- _lhsOisMultiline =- ( _exprIisMultiline || _suffixesIisMultiline- )- _containsParenthesizedExpr =- ( case _exprIcopy of- MExpr _ (APrefixExpr (ExprVar (MExpr _ AVarArg) _)) -> False- MExpr _ (APrefixExpr _) -> True- _ -> False- )- _noparens =- ( (removeRedundantParens _lhsIppconf || minimizeParens _lhsIppconf)- && ( _containsParenthesizedExpr- || (_lhsIparentOperatorPrecedence == TopLevelExpression || _exprIisLiteral)- && length _suffixesIcopy == 0- )- || ( minimizeParens _lhsIppconf- && length _suffixesIcopy == 0- && ( _lhsIparentOperatorPrecedence < _exprIprecedence- || assumeOperatorAssociativity _lhsIppconf- && _lhsIparentOperatorPrecedence == _exprIprecedence- && _lhsIparentOperatorAssociative- )- )- )- _lhsOisAssociative =- ( _exprIisAssociative && _suffixesIisAssociative- )- _copy =- ( ExprVar _exprIcopy _suffixesIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _suffixesIcomments- )- _exprOcomments =- ( _lhsIcomments- )- _exprOforceMultiline =- ( _lhsIforceMultiline- )- _exprOindent =- ( _lhsIindent- )- _exprOparentOperatorAssociative =- ( _lhsIparentOperatorAssociative- )- _exprOparentOperatorPrecedence =- ( _lhsIparentOperatorPrecedence- )- _exprOppconf =- ( _lhsIppconf- )- _suffixesOcomments =- ( _exprIcomments- )- _suffixesOforceMultiline =- ( _lhsIforceMultiline- )- _suffixesOindent =- ( _lhsIindent- )- _suffixesOppconf =- ( _lhsIppconf- )- (_exprIcomments, _exprIcopy, _exprIendsWithPrefixExpression, _exprIisAssociative, _exprIisLiteral, _exprIisMultiline, _exprIpos, _exprIprecedence, _exprIpretty) =- expr_ _exprOcomments _exprOforceMultiline _exprOindent _exprOparentOperatorAssociative _exprOparentOperatorPrecedence _exprOppconf- (_suffixesIcomments, _suffixesIcopy, _suffixesIisAssociative, _suffixesIisMultiline, _suffixesIprecedence, _suffixesIpretty) =- suffixes_ _suffixesOcomments _suffixesOforceMultiline _suffixesOindent _suffixesOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOisAssociative, _lhsOisLiteral, _lhsOisMultiline, _lhsOprecedence, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )---- Stat ----------------------------------------------------------- cata-sem_Stat- :: Stat- -> T_Stat-sem_Stat (Def _vars) =- (sem_Stat_Def (sem_VarsList _vars))-sem_Stat (LocDef _vars) =- (sem_Stat_LocDef (sem_VarsList _vars))-sem_Stat (AFuncCall _fn) =- (sem_Stat_AFuncCall (sem_PrefixExp _fn))-sem_Stat (ALabel _lbl) =- (sem_Stat_ALabel _lbl)-sem_Stat (ABreak) =- (sem_Stat_ABreak)-sem_Stat (AContinue) =- (sem_Stat_AContinue)-sem_Stat (AGoto _lbl) =- (sem_Stat_AGoto _lbl)-sem_Stat (ADo _body) =- (sem_Stat_ADo (sem_Block _body))-sem_Stat (AWhile _cond _body) =- (sem_Stat_AWhile (sem_MExpr _cond) (sem_Block _body))-sem_Stat (ARepeat _body _cond) =- (sem_Stat_ARepeat (sem_Block _body) (sem_MExpr _cond))-sem_Stat (AIf _cond _body _elifs _els) =- (sem_Stat_AIf (sem_MExpr _cond) (sem_Block _body) (sem_ElseIfList _elifs) (sem_Else _els))-sem_Stat (ANFor _var _val _to _step _body) =- (sem_Stat_ANFor _var (sem_MExpr _val) (sem_MExpr _to) (sem_MExpr _step) (sem_Block _body))-sem_Stat (AGFor _vars _vals _body) =- (sem_Stat_AGFor _vars (sem_MExprList _vals) (sem_Block _body))-sem_Stat (AFunc _name _args _body) =- (sem_Stat_AFunc (sem_FuncName _name) _args (sem_Block _body))-sem_Stat (ALocFunc _name _args _body) =- (sem_Stat_ALocFunc (sem_FuncName _name) _args (sem_Block _body))---- semantic domain-type T_Stat =- ([MToken])- -> Bool- -> Int- -> Bool- -> PrettyPrintConfig- -> Region- -> Bool- -> (([MToken]), Stat, Bool, Bool, Doc, Bool)-data Inh_Stat = Inh_Stat {comments_Inh_Stat :: ([MToken]), forceMultiline_Inh_Stat :: Bool, indent_Inh_Stat :: Int, isLastStatement_Inh_Stat :: Bool, ppconf_Inh_Stat :: PrettyPrintConfig, statRegion_Inh_Stat :: Region, wouldBeAmbiguousWithoutSemicolon_Inh_Stat :: Bool}-data Syn_Stat = Syn_Stat {comments_Syn_Stat :: ([MToken]), copy_Syn_Stat :: Stat, endsWithPrefixExpression_Syn_Stat :: Bool, isMultiline_Syn_Stat :: Bool, pretty_Syn_Stat :: Doc, startsWithExprPrefixExpression_Syn_Stat :: Bool}-wrap_Stat- :: T_Stat- -> Inh_Stat- -> Syn_Stat-wrap_Stat sem (Inh_Stat _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIstatRegion _lhsIwouldBeAmbiguousWithoutSemicolon) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIstatRegion _lhsIwouldBeAmbiguousWithoutSemicolon- in- (Syn_Stat _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression)- )-sem_Stat_Def- :: T_VarsList- -> T_Stat-sem_Stat_Def vars_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _varsOcomments :: ([MToken])- _varsOforceMultiline :: Bool- _varsOindent :: Int- _varsOppconf :: PrettyPrintConfig- _varsIcomments :: ([MToken])- _varsIcopy :: VarsList- _varsIendsWithPrefixExpression :: Bool- _varsIexprPretty :: Doc- _varsIisDefined :: Bool- _varsIisLast :: Bool- _varsIisMultiline :: Bool- _varsIpretty :: Doc- _varsIstartsWithExprPrefixExpression :: Bool- _varsIvarPretty :: Doc- _lhsOpretty =- ( _varsIpretty <> _semicolon- )- _lhsOstartsWithExprPrefixExpression =- ( _varsIstartsWithExprPrefixExpression- )- _lhsOendsWithPrefixExpression =- ( _varsIendsWithPrefixExpression- )- _lhsOisMultiline =- ( _varsIisMultiline- )- _semicolon =- ( if semicolons _lhsIppconf || _lhsIwouldBeAmbiguousWithoutSemicolon- then zchr ';'- else empty- )- _copy =- ( Def _varsIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _varsIcomments- )- _varsOcomments =- ( _lhsIcomments- )- _varsOforceMultiline =- ( _lhsIforceMultiline- )- _varsOindent =- ( _lhsIindent- )- _varsOppconf =- ( _lhsIppconf- )- (_varsIcomments, _varsIcopy, _varsIendsWithPrefixExpression, _varsIexprPretty, _varsIisDefined, _varsIisLast, _varsIisMultiline, _varsIpretty, _varsIstartsWithExprPrefixExpression, _varsIvarPretty) =- vars_ _varsOcomments _varsOforceMultiline _varsOindent _varsOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_LocDef- :: T_VarsList- -> T_Stat-sem_Stat_LocDef vars_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _varsOcomments :: ([MToken])- _varsOforceMultiline :: Bool- _varsOindent :: Int- _varsOppconf :: PrettyPrintConfig- _varsIcomments :: ([MToken])- _varsIcopy :: VarsList- _varsIendsWithPrefixExpression :: Bool- _varsIexprPretty :: Doc- _varsIisDefined :: Bool- _varsIisLast :: Bool- _varsIisMultiline :: Bool- _varsIpretty :: Doc- _varsIstartsWithExprPrefixExpression :: Bool- _varsIvarPretty :: Doc- _lhsOpretty =- ( zeroWidthText "local" <-> _varsIpretty <> _semicolon- )- _lhsOstartsWithExprPrefixExpression =- ( _varsIstartsWithExprPrefixExpression- )- _lhsOendsWithPrefixExpression =- ( _varsIendsWithPrefixExpression- )- _lhsOisMultiline =- ( _varsIisMultiline- )- _semicolon =- ( if semicolons _lhsIppconf || _lhsIwouldBeAmbiguousWithoutSemicolon- then zchr ';'- else empty- )- _copy =- ( LocDef _varsIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _varsIcomments- )- _varsOcomments =- ( _lhsIcomments- )- _varsOforceMultiline =- ( _lhsIforceMultiline- )- _varsOindent =- ( _lhsIindent- )- _varsOppconf =- ( _lhsIppconf- )- (_varsIcomments, _varsIcopy, _varsIendsWithPrefixExpression, _varsIexprPretty, _varsIisDefined, _varsIisLast, _varsIisMultiline, _varsIpretty, _varsIstartsWithExprPrefixExpression, _varsIvarPretty) =- vars_ _varsOcomments _varsOforceMultiline _varsOindent _varsOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_AFuncCall- :: T_PrefixExp- -> T_Stat-sem_Stat_AFuncCall fn_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _fnOparentOperatorPrecedence :: OperatorLevel- _fnOparentOperatorAssociative :: Bool- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _fnOcomments :: ([MToken])- _fnOforceMultiline :: Bool- _fnOindent :: Int- _fnOppconf :: PrettyPrintConfig- _fnIcomments :: ([MToken])- _fnIcopy :: PrefixExp- _fnIisAssociative :: Bool- _fnIisLiteral :: Bool- _fnIisMultiline :: Bool- _fnIprecedence :: OperatorLevel- _fnIpretty :: Doc- _fnIstartsWithExprPrefixExpression :: Bool- _lhsOpretty =- ( _fnIpretty <> _semicolon- )- _lhsOisMultiline =- ( _fnIisMultiline- )- _semicolon =- ( if semicolons _lhsIppconf then zchr ';' else empty- )- _lhsOstartsWithExprPrefixExpression =- ( _fnIstartsWithExprPrefixExpression- )- _lhsOendsWithPrefixExpression =- ( True- )- _fnOparentOperatorPrecedence =- ( TopLevelExpression- )- _fnOparentOperatorAssociative =- ( True- )- _copy =- ( AFuncCall _fnIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _fnIcomments- )- _fnOcomments =- ( _lhsIcomments- )- _fnOforceMultiline =- ( _lhsIforceMultiline- )- _fnOindent =- ( _lhsIindent- )- _fnOppconf =- ( _lhsIppconf- )- (_fnIcomments, _fnIcopy, _fnIisAssociative, _fnIisLiteral, _fnIisMultiline, _fnIprecedence, _fnIpretty, _fnIstartsWithExprPrefixExpression) =- fn_ _fnOcomments _fnOforceMultiline _fnOindent _fnOparentOperatorAssociative _fnOparentOperatorPrecedence _fnOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_ALabel- :: MToken- -> T_Stat-sem_Stat_ALabel lbl_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "::"- <> _whitespace- <> tok lbl_- <> _whitespace- <> zeroWidthText "::"- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _whitespace =- ( if spaceAfterLabel _lhsIppconf then zeroWidthText " " else empty- )- _copy =- ( ALabel lbl_- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_ABreak :: T_Stat-sem_Stat_ABreak =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "break" <> _semicolon- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _semicolon =- ( if semicolons _lhsIppconf then zchr ';' else empty- )- _copy =- ( ABreak- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_AContinue :: T_Stat-sem_Stat_AContinue =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "continue" <> _semicolon- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _semicolon =- ( if semicolons _lhsIppconf then zchr ';' else empty- )- _copy =- ( AContinue- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_AGoto- :: MToken- -> T_Stat-sem_Stat_AGoto lbl_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "goto" <-> tok lbl_ <> _semicolon- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _semicolon =- ( if semicolons _lhsIppconf then zchr ';' else empty- )- _copy =- ( AGoto lbl_- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_ADo- :: T_Block- -> T_Stat-sem_Stat_ADo body_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOisMultiline :: Bool- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _bodyOindent :: Int- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _bodyOcomments :: ([MToken])- _bodyOforceMultiline :: Bool- _bodyOppconf :: PrettyPrintConfig- _bodyOstatRegion :: Region- _bodyIcomments :: ([MToken])- _bodyIcopy :: Block- _bodyIisMultiline :: Bool- _bodyIpretty :: Doc- _bodyIstatementCount :: Int- _lhsOisMultiline =- ( True- )- _lhsOpretty =- ( zeroWidthText "do"- $+$ _bodyIpretty- $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _bodyOindent =- ( _lhsIindent + 1- )- _copy =- ( ADo _bodyIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _bodyIcomments- )- _bodyOcomments =- ( _lhsIcomments- )- _bodyOforceMultiline =- ( _lhsIforceMultiline- )- _bodyOppconf =- ( _lhsIppconf- )- _bodyOstatRegion =- ( _lhsIstatRegion- )- (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =- body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_AWhile- :: T_MExpr- -> T_Block- -> T_Stat-sem_Stat_AWhile cond_ body_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOisMultiline :: Bool- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _condOparentOperatorPrecedence :: OperatorLevel- _condOparentOperatorAssociative :: Bool- _lhsOpretty :: Doc- _bodyOindent :: Int- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _condOcomments :: ([MToken])- _condOforceMultiline :: Bool- _condOindent :: Int- _condOppconf :: PrettyPrintConfig- _bodyOcomments :: ([MToken])- _bodyOforceMultiline :: Bool- _bodyOppconf :: PrettyPrintConfig- _bodyOstatRegion :: Region- _condIcomments :: ([MToken])- _condIcopy :: MExpr- _condIendsWithPrefixExpression :: Bool- _condIisAssociative :: Bool- _condIisLiteral :: Bool- _condIisMultiline :: Bool- _condIpos :: Region- _condIprecedence :: OperatorLevel- _condIpretty :: Doc- _bodyIcomments :: ([MToken])- _bodyIcopy :: Block- _bodyIisMultiline :: Bool- _bodyIpretty :: Doc- _bodyIstatementCount :: Int- _lhsOisMultiline =- ( True- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _condOparentOperatorPrecedence =- ( TopLevelExpression- )- _condOparentOperatorAssociative =- ( True- )- _lhsOpretty =- ( zeroWidthText "while"- <-> _condIpretty- <-> zeroWidthText "do"- $+$ _bodyIpretty- $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")- )- _bodyOindent =- ( _lhsIindent + 1- )- _copy =- ( AWhile _condIcopy _bodyIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _bodyIcomments- )- _condOcomments =- ( _lhsIcomments- )- _condOforceMultiline =- ( _lhsIforceMultiline- )- _condOindent =- ( _lhsIindent- )- _condOppconf =- ( _lhsIppconf- )- _bodyOcomments =- ( _condIcomments- )- _bodyOforceMultiline =- ( _lhsIforceMultiline- )- _bodyOppconf =- ( _lhsIppconf- )- _bodyOstatRegion =- ( _lhsIstatRegion- )- (_condIcomments, _condIcopy, _condIendsWithPrefixExpression, _condIisAssociative, _condIisLiteral, _condIisMultiline, _condIpos, _condIprecedence, _condIpretty) =- cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf- (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =- body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_ARepeat- :: T_Block- -> T_MExpr- -> T_Stat-sem_Stat_ARepeat body_ cond_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _bodyOindent :: Int- _condOparentOperatorPrecedence :: OperatorLevel- _condOparentOperatorAssociative :: Bool- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _bodyOcomments :: ([MToken])- _bodyOforceMultiline :: Bool- _bodyOppconf :: PrettyPrintConfig- _bodyOstatRegion :: Region- _condOcomments :: ([MToken])- _condOforceMultiline :: Bool- _condOindent :: Int- _condOppconf :: PrettyPrintConfig- _bodyIcomments :: ([MToken])- _bodyIcopy :: Block- _bodyIisMultiline :: Bool- _bodyIpretty :: Doc- _bodyIstatementCount :: Int- _condIcomments :: ([MToken])- _condIcopy :: MExpr- _condIendsWithPrefixExpression :: Bool- _condIisAssociative :: Bool- _condIisLiteral :: Bool- _condIisMultiline :: Bool- _condIpos :: Region- _condIprecedence :: OperatorLevel- _condIpretty :: Doc- _lhsOpretty =- ( zeroWidthText "repeat"- $+$ _bodyIpretty- $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "until" <-> _condIpretty)- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( True- )- _bodyOindent =- ( _lhsIindent + 1- )- _condOparentOperatorPrecedence =- ( TopLevelExpression- )- _condOparentOperatorAssociative =- ( True- )- _copy =- ( ARepeat _bodyIcopy _condIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _condIcomments- )- _bodyOcomments =- ( _lhsIcomments- )- _bodyOforceMultiline =- ( _lhsIforceMultiline- )- _bodyOppconf =- ( _lhsIppconf- )- _bodyOstatRegion =- ( _lhsIstatRegion- )- _condOcomments =- ( _bodyIcomments- )- _condOforceMultiline =- ( _lhsIforceMultiline- )- _condOindent =- ( _lhsIindent- )- _condOppconf =- ( _lhsIppconf- )- (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =- body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion- (_condIcomments, _condIcopy, _condIendsWithPrefixExpression, _condIisAssociative, _condIisLiteral, _condIisMultiline, _condIpos, _condIprecedence, _condIpretty) =- cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_AIf- :: T_MExpr- -> T_Block- -> T_ElseIfList- -> T_Else- -> T_Stat-sem_Stat_AIf cond_ body_ elifs_ els_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _condOcomments :: ([MToken])- _condOparentOperatorPrecedence :: OperatorLevel- _condOparentOperatorAssociative :: Bool- _bodyOindent :: Int- _bodyOstatRegion :: Region- _lhsOpretty :: Doc- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _lhsOisMultiline :: Bool- _condOforceMultiline :: Bool- _condOindent :: Int- _condOppconf :: PrettyPrintConfig- _bodyOcomments :: ([MToken])- _bodyOforceMultiline :: Bool- _bodyOppconf :: PrettyPrintConfig- _elifsOcomments :: ([MToken])- _elifsOforceMultiline :: Bool- _elifsOindent :: Int- _elifsOppconf :: PrettyPrintConfig- _elsOcomments :: ([MToken])- _elsOforceMultiline :: Bool- _elsOindent :: Int- _elsOppconf :: PrettyPrintConfig- _elsOstatRegion :: Region- _condIcomments :: ([MToken])- _condIcopy :: MExpr- _condIendsWithPrefixExpression :: Bool- _condIisAssociative :: Bool- _condIisLiteral :: Bool- _condIisMultiline :: Bool- _condIpos :: Region- _condIprecedence :: OperatorLevel- _condIpretty :: Doc- _bodyIcomments :: ([MToken])- _bodyIcopy :: Block- _bodyIisMultiline :: Bool- _bodyIpretty :: Doc- _bodyIstatementCount :: Int- _elifsIcomments :: ([MToken])- _elifsIcopy :: ElseIfList- _elifsIelsesExist :: Bool- _elifsIisMultiline :: Bool- _elifsIpos :: Region- _elifsIpretty :: Doc- _elsIcomments :: ([MToken])- _elsIcopy :: Else- _elsIelsesExist :: Bool- _elsIisMultiline :: Bool- _elsIpos :: Region- _elsIpretty :: Doc- _isMultiline =- ( _lhsIforceMultiline- || _condIisMultiline- || _bodyIisMultiline- || _elifsIelsesExist- || _elsIelsesExist- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _singleLinePretty =- ( zeroWidthText "if"- <-> _condIpretty- <-> zeroWidthText "then"- <-> _bodyIpretty- <-> zeroWidthText "end"- <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterThen)- )- _multilinePretty =- ( zeroWidthText "if"- <-> _condIpretty- <-> zeroWidthText "then"- <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterThen)- $+$ _bodyIpretty- $+$ _elifsIpretty- $+$ _elsIpretty- $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")- )- _commentsAfterThen =- ( span (\(MToken pos _) -> pos `beforeOrOnLine` _condIpos) _lhsIcomments- )- _condOcomments =- ( snd _commentsAfterThen- )- _condOparentOperatorPrecedence =- ( TopLevelExpression- )- _condOparentOperatorAssociative =- ( True- )- _bodyOindent =- ( if _isMultiline then _lhsIindent + 1 else 0- )- _bodyOstatRegion =- ( _lhsIstatRegion `upto` _elifsIpos `upto` _elsIpos- )- _lhsOpretty =- ( if _isMultiline then _multilinePretty else _singleLinePretty- )- _copy =- ( AIf _condIcopy _bodyIcopy _elifsIcopy _elsIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _elsIcomments- )- _lhsOisMultiline =- ( _isMultiline- )- _condOforceMultiline =- ( _lhsIforceMultiline- )- _condOindent =- ( _lhsIindent- )- _condOppconf =- ( _lhsIppconf- )- _bodyOcomments =- ( _condIcomments- )- _bodyOforceMultiline =- ( _lhsIforceMultiline- )- _bodyOppconf =- ( _lhsIppconf- )- _elifsOcomments =- ( _bodyIcomments- )- _elifsOforceMultiline =- ( _lhsIforceMultiline- )- _elifsOindent =- ( _lhsIindent- )- _elifsOppconf =- ( _lhsIppconf- )- _elsOcomments =- ( _elifsIcomments- )- _elsOforceMultiline =- ( _lhsIforceMultiline- )- _elsOindent =- ( _lhsIindent- )- _elsOppconf =- ( _lhsIppconf- )- _elsOstatRegion =- ( _lhsIstatRegion- )- (_condIcomments, _condIcopy, _condIendsWithPrefixExpression, _condIisAssociative, _condIisLiteral, _condIisMultiline, _condIpos, _condIprecedence, _condIpretty) =- cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf- (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =- body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion- (_elifsIcomments, _elifsIcopy, _elifsIelsesExist, _elifsIisMultiline, _elifsIpos, _elifsIpretty) =- elifs_ _elifsOcomments _elifsOforceMultiline _elifsOindent _elifsOppconf- (_elsIcomments, _elsIcopy, _elsIelsesExist, _elsIisMultiline, _elsIpos, _elsIpretty) =- els_ _elsOcomments _elsOforceMultiline _elsOindent _elsOppconf _elsOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_ANFor- :: MToken- -> T_MExpr- -> T_MExpr- -> T_MExpr- -> T_Block- -> T_Stat-sem_Stat_ANFor var_ val_ to_ step_ body_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOisMultiline :: Bool- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOpretty :: Doc- _valOcomments :: ([MToken])- _valOparentOperatorPrecedence :: OperatorLevel- _valOparentOperatorAssociative :: Bool- _toOparentOperatorPrecedence :: OperatorLevel- _toOparentOperatorAssociative :: Bool- _stepOparentOperatorPrecedence :: OperatorLevel- _stepOparentOperatorAssociative :: Bool- _bodyOindent :: Int- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _valOforceMultiline :: Bool- _valOindent :: Int- _valOppconf :: PrettyPrintConfig- _toOcomments :: ([MToken])- _toOforceMultiline :: Bool- _toOindent :: Int- _toOppconf :: PrettyPrintConfig- _stepOcomments :: ([MToken])- _stepOforceMultiline :: Bool- _stepOindent :: Int- _stepOppconf :: PrettyPrintConfig- _bodyOcomments :: ([MToken])- _bodyOforceMultiline :: Bool- _bodyOppconf :: PrettyPrintConfig- _bodyOstatRegion :: Region- _valIcomments :: ([MToken])- _valIcopy :: MExpr- _valIendsWithPrefixExpression :: Bool- _valIisAssociative :: Bool- _valIisLiteral :: Bool- _valIisMultiline :: Bool- _valIpos :: Region- _valIprecedence :: OperatorLevel- _valIpretty :: Doc- _toIcomments :: ([MToken])- _toIcopy :: MExpr- _toIendsWithPrefixExpression :: Bool- _toIisAssociative :: Bool- _toIisLiteral :: Bool- _toIisMultiline :: Bool- _toIpos :: Region- _toIprecedence :: OperatorLevel- _toIpretty :: Doc- _stepIcomments :: ([MToken])- _stepIcopy :: MExpr- _stepIendsWithPrefixExpression :: Bool- _stepIisAssociative :: Bool- _stepIisLiteral :: Bool- _stepIisMultiline :: Bool- _stepIpos :: Region- _stepIprecedence :: OperatorLevel- _stepIpretty :: Doc- _bodyIcomments :: ([MToken])- _bodyIcopy :: Block- _bodyIisMultiline :: Bool- _bodyIpretty :: Doc- _bodyIstatementCount :: Int- _lhsOisMultiline =- ( True- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _step =- ( case _stepIcopy of- MExpr _ (ANumber "1") -> empty- _ -> _comma <> _stepIpretty- )- _lhsOpretty =- ( zeroWidthText "for"- <-> tok var_- <-> zchr '='- <-> _valIpretty- <> _comma- <> _toIpretty- <> _step- <-> zeroWidthText "do"- <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFor)- $+$ _bodyIpretty- $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")- )- _comma =- ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)- <> zchr ','- <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)- )- _commentsAfterFor =- ( span (\(MToken pos _) -> pos `beforeOrOnLine` mpos var_) _lhsIcomments- )- _valOcomments =- ( snd _commentsAfterFor- )- _valOparentOperatorPrecedence =- ( TopLevelExpression- )- _valOparentOperatorAssociative =- ( True- )- _toOparentOperatorPrecedence =- ( TopLevelExpression- )- _toOparentOperatorAssociative =- ( True- )- _stepOparentOperatorPrecedence =- ( TopLevelExpression- )- _stepOparentOperatorAssociative =- ( True- )- _bodyOindent =- ( _lhsIindent + 1- )- _copy =- ( ANFor var_ _valIcopy _toIcopy _stepIcopy _bodyIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _bodyIcomments- )- _valOforceMultiline =- ( _lhsIforceMultiline- )- _valOindent =- ( _lhsIindent- )- _valOppconf =- ( _lhsIppconf- )- _toOcomments =- ( _valIcomments- )- _toOforceMultiline =- ( _lhsIforceMultiline- )- _toOindent =- ( _lhsIindent- )- _toOppconf =- ( _lhsIppconf- )- _stepOcomments =- ( _toIcomments- )- _stepOforceMultiline =- ( _lhsIforceMultiline- )- _stepOindent =- ( _lhsIindent- )- _stepOppconf =- ( _lhsIppconf- )- _bodyOcomments =- ( _stepIcomments- )- _bodyOforceMultiline =- ( _lhsIforceMultiline- )- _bodyOppconf =- ( _lhsIppconf- )- _bodyOstatRegion =- ( _lhsIstatRegion- )- (_valIcomments, _valIcopy, _valIendsWithPrefixExpression, _valIisAssociative, _valIisLiteral, _valIisMultiline, _valIpos, _valIprecedence, _valIpretty) =- val_ _valOcomments _valOforceMultiline _valOindent _valOparentOperatorAssociative _valOparentOperatorPrecedence _valOppconf- (_toIcomments, _toIcopy, _toIendsWithPrefixExpression, _toIisAssociative, _toIisLiteral, _toIisMultiline, _toIpos, _toIprecedence, _toIpretty) =- to_ _toOcomments _toOforceMultiline _toOindent _toOparentOperatorAssociative _toOparentOperatorPrecedence _toOppconf- (_stepIcomments, _stepIcopy, _stepIendsWithPrefixExpression, _stepIisAssociative, _stepIisLiteral, _stepIisMultiline, _stepIpos, _stepIprecedence, _stepIpretty) =- step_ _stepOcomments _stepOforceMultiline _stepOindent _stepOparentOperatorAssociative _stepOparentOperatorPrecedence _stepOppconf- (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =- body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_AGFor- :: ([MToken])- -> T_MExprList- -> T_Block- -> T_Stat-sem_Stat_AGFor vars_ vals_ body_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOisMultiline :: Bool- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOpretty :: Doc- _bodyOindent :: Int- _valsOcomments :: ([MToken])- _valsOforceMultiline :: Bool- _valsOsomeElementsInListAreMultiline :: Bool- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _valsOindent :: Int- _valsOppconf :: PrettyPrintConfig- _bodyOcomments :: ([MToken])- _bodyOforceMultiline :: Bool- _bodyOppconf :: PrettyPrintConfig- _bodyOstatRegion :: Region- _valsIcomments :: ([MToken])- _valsIcopy :: MExprList- _valsIisAssociative :: Bool- _valsIisLast :: Bool- _valsIisMultiline :: Bool- _valsIpos :: Region- _valsIprecedence :: OperatorLevel- _valsIpretty :: Doc- _bodyIcomments :: ([MToken])- _bodyIcopy :: Block- _bodyIisMultiline :: Bool- _bodyIpretty :: Doc- _bodyIstatementCount :: Int- _lhsOisMultiline =- ( True- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOpretty =- ( zeroWidthText "for"- <-> printList tok (render _comma) vars_- <-> zeroWidthText "in"- <-> _valsIpretty- <-> zeroWidthText "do"- <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFor)- $+$ _bodyIpretty- $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")- )- _bodyOindent =- ( _lhsIindent + 1- )- _comma =- ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)- <> zchr ','- <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)- )- _commentsAfterFor =- ( span (\(MToken pos _) -> pos `beforeOrOnLine` mpos (head vars_)) _lhsIcomments- )- _valsOcomments =- ( snd _commentsAfterFor- )- _valsOforceMultiline =- ( False- )- _valsOsomeElementsInListAreMultiline =- ( False- )- _copy =- ( AGFor vars_ _valsIcopy _bodyIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _bodyIcomments- )- _valsOindent =- ( _lhsIindent- )- _valsOppconf =- ( _lhsIppconf- )- _bodyOcomments =- ( _valsIcomments- )- _bodyOforceMultiline =- ( _lhsIforceMultiline- )- _bodyOppconf =- ( _lhsIppconf- )- _bodyOstatRegion =- ( _lhsIstatRegion- )- (_valsIcomments, _valsIcopy, _valsIisAssociative, _valsIisLast, _valsIisMultiline, _valsIpos, _valsIprecedence, _valsIpretty) =- vals_ _valsOcomments _valsOforceMultiline _valsOindent _valsOppconf _valsOsomeElementsInListAreMultiline- (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =- body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_AFunc- :: T_FuncName- -> ([MToken])- -> T_Block- -> T_Stat-sem_Stat_AFunc name_ args_ body_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOisMultiline :: Bool- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOpretty :: Doc- _nameOcomments :: ([MToken])- _bodyOindent :: Int- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _nameOindent :: Int- _nameOppconf :: PrettyPrintConfig- _bodyOcomments :: ([MToken])- _bodyOforceMultiline :: Bool- _bodyOppconf :: PrettyPrintConfig- _bodyOstatRegion :: Region- _nameIcomments :: ([MToken])- _nameIcopy :: FuncName- _nameIisMultiline :: Bool- _nameIpos :: Region- _nameIpretty :: Doc- _bodyIcomments :: ([MToken])- _bodyIcopy :: Block- _bodyIisMultiline :: Bool- _bodyIpretty :: Doc- _bodyIstatementCount :: Int- _lhsOisMultiline =- ( True- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOpretty =- ( zeroWidthText "function"- <-> _nameIpretty- <> parens _lhsIppconf _emptyParams (printList tok (render _comma) args_)- <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFunc)- $+$ _bodyIpretty- $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")- )- _commentsAfterFunc =- ( span (\(MToken pos _) -> pos `beforeOrOnLine` _nameIpos) _lhsIcomments- )- _nameOcomments =- ( snd _commentsAfterFunc- )- _emptyParams =- ( toEmpty $ null args_- )- _comma =- ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)- <> zchr ','- <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)- )- _bodyOindent =- ( _lhsIindent + 1- )- _copy =- ( AFunc _nameIcopy args_ _bodyIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _bodyIcomments- )- _nameOindent =- ( _lhsIindent- )- _nameOppconf =- ( _lhsIppconf- )- _bodyOcomments =- ( _nameIcomments- )- _bodyOforceMultiline =- ( _lhsIforceMultiline- )- _bodyOppconf =- ( _lhsIppconf- )- _bodyOstatRegion =- ( _lhsIstatRegion- )- (_nameIcomments, _nameIcopy, _nameIisMultiline, _nameIpos, _nameIpretty) =- name_ _nameOcomments _nameOindent _nameOppconf- (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =- body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )-sem_Stat_ALocFunc- :: T_FuncName- -> ([MToken])- -> T_Block- -> T_Stat-sem_Stat_ALocFunc name_ args_ body_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIisLastStatement- _lhsIppconf- _lhsIstatRegion- _lhsIwouldBeAmbiguousWithoutSemicolon ->- ( let- _lhsOisMultiline :: Bool- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _nameOcomments :: ([MToken])- _bodyOindent :: Int- _lhsOcopy :: Stat- _lhsOcomments :: ([MToken])- _nameOindent :: Int- _nameOppconf :: PrettyPrintConfig- _bodyOcomments :: ([MToken])- _bodyOforceMultiline :: Bool- _bodyOppconf :: PrettyPrintConfig- _bodyOstatRegion :: Region- _nameIcomments :: ([MToken])- _nameIcopy :: FuncName- _nameIisMultiline :: Bool- _nameIpos :: Region- _nameIpretty :: Doc- _bodyIcomments :: ([MToken])- _bodyIcopy :: Block- _bodyIisMultiline :: Bool- _bodyIpretty :: Doc- _bodyIstatementCount :: Int- _lhsOisMultiline =- ( True- )- _lhsOpretty =- ( zeroWidthText "local function"- <-> _nameIpretty- <> parens _lhsIppconf _emptyParams (printList tok (render _comma) args_)- <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFunc)- $+$ _bodyIpretty- $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _commentsAfterFunc =- ( span (\(MToken pos _) -> pos `beforeOrOnLine` _nameIpos) _lhsIcomments- )- _nameOcomments =- ( snd _commentsAfterFunc- )- _emptyParams =- ( toEmpty $ null args_- )- _comma =- ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)- <> zchr ','- <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)- )- _bodyOindent =- ( _lhsIindent + 1- )- _copy =- ( ALocFunc _nameIcopy args_ _bodyIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _bodyIcomments- )- _nameOindent =- ( _lhsIindent- )- _nameOppconf =- ( _lhsIppconf- )- _bodyOcomments =- ( _nameIcomments- )- _bodyOforceMultiline =- ( _lhsIforceMultiline- )- _bodyOppconf =- ( _lhsIppconf- )- _bodyOstatRegion =- ( _lhsIstatRegion- )- (_nameIcomments, _nameIcopy, _nameIisMultiline, _nameIpos, _nameIpretty) =- name_ _nameOcomments _nameOindent _nameOppconf- (_bodyIcomments, _bodyIcopy, _bodyIisMultiline, _bodyIpretty, _bodyIstatementCount) =- body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression)- )- )---- UnOp ----------------------------------------------------------- cata-sem_UnOp- :: UnOp- -> T_UnOp-sem_UnOp (UnMinus) =- (sem_UnOp_UnMinus)-sem_UnOp (ANot) =- (sem_UnOp_ANot)-sem_UnOp (AHash) =- (sem_UnOp_AHash)---- semantic domain-type T_UnOp =- ([MToken])- -> Int- -> PrettyPrintConfig- -> (([MToken]), UnOp, Bool, Doc)-data Inh_UnOp = Inh_UnOp {comments_Inh_UnOp :: ([MToken]), indent_Inh_UnOp :: Int, ppconf_Inh_UnOp :: PrettyPrintConfig}-data Syn_UnOp = Syn_UnOp {comments_Syn_UnOp :: ([MToken]), copy_Syn_UnOp :: UnOp, isMultiline_Syn_UnOp :: Bool, pretty_Syn_UnOp :: Doc}-wrap_UnOp- :: T_UnOp- -> Inh_UnOp- -> Syn_UnOp-wrap_UnOp sem (Inh_UnOp _lhsIcomments _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf- in- (Syn_UnOp _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty)- )-sem_UnOp_UnMinus :: T_UnOp-sem_UnOp_UnMinus =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOcopy :: UnOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "-"- )- _lhsOisMultiline =- ( False- )- _copy =- ( UnMinus- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)- )- )-sem_UnOp_ANot :: T_UnOp-sem_UnOp_ANot =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOcopy :: UnOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText (if cStyle _lhsIppconf then "!" else "not ")- )- _lhsOisMultiline =- ( False- )- _copy =- ( ANot- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)- )- )-sem_UnOp_AHash :: T_UnOp-sem_UnOp_AHash =- ( \_lhsIcomments- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOisMultiline :: Bool- _lhsOcopy :: UnOp- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( zeroWidthText "#"- )- _lhsOisMultiline =- ( False- )- _copy =- ( AHash- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOisMultiline, _lhsOpretty)- )- )---- VarsList ------------------------------------------------------- cata-sem_VarsList- :: VarsList- -> T_VarsList-sem_VarsList list =- (Prelude.foldr sem_VarsList_Cons sem_VarsList_Nil (Prelude.map sem_Declaration list))---- semantic domain-type T_VarsList =- ([MToken])- -> Bool- -> Int- -> PrettyPrintConfig- -> (([MToken]), VarsList, Bool, Doc, Bool, Bool, Bool, Doc, Bool, Doc)-data Inh_VarsList = Inh_VarsList {comments_Inh_VarsList :: ([MToken]), forceMultiline_Inh_VarsList :: Bool, indent_Inh_VarsList :: Int, ppconf_Inh_VarsList :: PrettyPrintConfig}-data Syn_VarsList = Syn_VarsList {comments_Syn_VarsList :: ([MToken]), copy_Syn_VarsList :: VarsList, endsWithPrefixExpression_Syn_VarsList :: Bool, exprPretty_Syn_VarsList :: Doc, isDefined_Syn_VarsList :: Bool, isLast_Syn_VarsList :: Bool, isMultiline_Syn_VarsList :: Bool, pretty_Syn_VarsList :: Doc, startsWithExprPrefixExpression_Syn_VarsList :: Bool, varPretty_Syn_VarsList :: Doc}-wrap_VarsList- :: T_VarsList- -> Inh_VarsList- -> Syn_VarsList-wrap_VarsList sem (Inh_VarsList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =- ( let- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOexprPretty, _lhsOisDefined, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOvarPretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf- in- (Syn_VarsList _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOexprPretty _lhsOisDefined _lhsOisLast _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOvarPretty)- )-sem_VarsList_Cons- :: T_Declaration- -> T_VarsList- -> T_VarsList-sem_VarsList_Cons hd_ tl_ =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisLast :: Bool- _lhsOexprPretty :: Doc- _lhsOisDefined :: Bool- _lhsOvarPretty :: Doc- _lhsOcopy :: VarsList- _lhsOcomments :: ([MToken])- _hdOcomments :: ([MToken])- _hdOforceMultiline :: Bool- _hdOindent :: Int- _hdOppconf :: PrettyPrintConfig- _tlOcomments :: ([MToken])- _tlOforceMultiline :: Bool- _tlOindent :: Int- _tlOppconf :: PrettyPrintConfig- _hdIcomments :: ([MToken])- _hdIcopy :: Declaration- _hdIendsWithPrefixExpression :: Bool- _hdIexprPretty :: Doc- _hdIisDefined :: Bool- _hdIisMultiline :: Bool- _hdIpretty :: Doc- _hdIstartsWithExprPrefixExpression :: Bool- _hdIvarPretty :: Doc- _tlIcomments :: ([MToken])- _tlIcopy :: VarsList- _tlIendsWithPrefixExpression :: Bool- _tlIexprPretty :: Doc- _tlIisDefined :: Bool- _tlIisLast :: Bool- _tlIisMultiline :: Bool- _tlIpretty :: Doc- _tlIstartsWithExprPrefixExpression :: Bool- _tlIvarPretty :: Doc- _lhsOpretty =- ( _varPretty- <-> if _isDefined then zchr '=' <-> _exprPretty else empty- )- _lhsOstartsWithExprPrefixExpression =- ( _hdIstartsWithExprPrefixExpression- )- _lhsOendsWithPrefixExpression =- ( if _tlIisDefined then _tlIendsWithPrefixExpression else _hdIendsWithPrefixExpression- )- _lhsOisMultiline =- ( _hdIisMultiline || _tlIisMultiline- )- _isDefined =- ( _hdIisDefined || _tlIisDefined- )- _varPretty =- ( _hdIvarPretty- <> (if _tlIisLast then empty else _comma)- <> _tlIvarPretty- )- _exprPretty =- ( _hdIexprPretty- <> (if not _tlIisLast && _tlIisDefined then _comma else empty)- <> _tlIexprPretty- )- _comma =- ( (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)- <> zchr ','- <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)- )- _lhsOisLast =- ( False- )- _lhsOexprPretty =- ( _exprPretty- )- _lhsOisDefined =- ( _isDefined- )- _lhsOvarPretty =- ( _varPretty- )- _copy =- ( (:) _hdIcopy _tlIcopy- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _tlIcomments- )- _hdOcomments =- ( _lhsIcomments- )- _hdOforceMultiline =- ( _lhsIforceMultiline- )- _hdOindent =- ( _lhsIindent- )- _hdOppconf =- ( _lhsIppconf- )- _tlOcomments =- ( _hdIcomments- )- _tlOforceMultiline =- ( _lhsIforceMultiline- )- _tlOindent =- ( _lhsIindent- )- _tlOppconf =- ( _lhsIppconf- )- (_hdIcomments, _hdIcopy, _hdIendsWithPrefixExpression, _hdIexprPretty, _hdIisDefined, _hdIisMultiline, _hdIpretty, _hdIstartsWithExprPrefixExpression, _hdIvarPretty) =- hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf- (_tlIcomments, _tlIcopy, _tlIendsWithPrefixExpression, _tlIexprPretty, _tlIisDefined, _tlIisLast, _tlIisMultiline, _tlIpretty, _tlIstartsWithExprPrefixExpression, _tlIvarPretty) =- tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOexprPretty, _lhsOisDefined, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOvarPretty)- )- )-sem_VarsList_Nil :: T_VarsList-sem_VarsList_Nil =- ( \_lhsIcomments- _lhsIforceMultiline- _lhsIindent- _lhsIppconf ->- ( let- _lhsOpretty :: Doc- _lhsOstartsWithExprPrefixExpression :: Bool- _lhsOendsWithPrefixExpression :: Bool- _lhsOisMultiline :: Bool- _lhsOisLast :: Bool- _lhsOexprPretty :: Doc- _lhsOisDefined :: Bool- _lhsOvarPretty :: Doc- _lhsOcopy :: VarsList- _lhsOcomments :: ([MToken])- _lhsOpretty =- ( empty- )- _lhsOstartsWithExprPrefixExpression =- ( False- )- _lhsOendsWithPrefixExpression =- ( False- )- _lhsOisMultiline =- ( False- )- _lhsOisLast =- ( True- )- _lhsOexprPretty =- ( empty- )- _lhsOisDefined =- ( False- )- _lhsOvarPretty =- ( empty- )- _copy =- ( []- )- _lhsOcopy =- ( _copy- )- _lhsOcomments =- ( _lhsIcomments- )- in- (_lhsOcomments, _lhsOcopy, _lhsOendsWithPrefixExpression, _lhsOexprPretty, _lhsOisDefined, _lhsOisLast, _lhsOisMultiline, _lhsOpretty, _lhsOstartsWithExprPrefixExpression, _lhsOvarPretty)- )- )+++{-# LANGUAGE DeriveGeneric #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+-- UUAGC 0.9.53.1 (src/GLua/AG/PrettyPrint.ag)+module GLua.AG.PrettyPrint where++{-# LINE 10 "src/GLua/AG/AST.ag" #-}++import GLua.AG.Token+import GLua.Position+import GLua.TokenTypes ()+import GHC.Generics+import Data.Aeson+{-# LINE 16 "src/GLua/AG/PrettyPrint.hs" #-}++{-# LINE 4 "src/GLua/AG/PrettyPrint.ag" #-}++import Prelude hiding ((<>))+import Data.List (foldl', isInfixOf)+import GLua.AG.AST+import GLua.Position+import Text.PrettyPrint hiding (parens, brackets, braces)+import GLua.TokenTypes+import Data.Maybe+import Text.Parsec+import Text.Parsec.Error+import Debug.Trace+{-# LINE 30 "src/GLua/AG/PrettyPrint.hs" #-}+{-# LINE 19 "src/GLua/AG/PrettyPrint.ag" #-}+++tok :: MToken -> Doc+tok (MToken _ t) = zeroWidthText . show $ t++printList :: (a -> Doc) -> String -> [a] -> Doc+printList _ _ [] = empty+printList f sep' (e : es) = (f e) <> g es+ where+ g [] = empty+ g (e' : es') = zeroWidthText sep' <> (f e') <> g es'++data IsEmpty = IsEmpty | NonEmpty++fromEmpty :: IsEmpty -> Bool+fromEmpty IsEmpty = True+fromEmpty NonEmpty = False++toEmpty :: Bool -> IsEmpty+toEmpty b = if b then IsEmpty else NonEmpty++data PrettyPrintConfig = PPConfig {+ spaceAfterParens :: Bool,+ spaceAfterBrackets :: Bool,+ spaceAfterBraces :: Bool,+ spaceEmptyParens :: Bool,+ spaceEmptyBraces :: Bool,+ spaceAfterLabel :: Bool,+ spaceBeforeComma :: Bool,+ spaceAfterComma :: Bool,+ semicolons :: Bool,+ cStyle :: Bool,+ removeRedundantParens :: Bool,+ minimizeParens :: Bool,+ assumeOperatorAssociativity :: Bool,+ indentation :: String+}++defaultPPConfig :: PrettyPrintConfig+defaultPPConfig = PPConfig {+ spaceAfterParens = False,+ spaceAfterBrackets = False,+ spaceAfterBraces = False,+ spaceEmptyParens = False,+ spaceEmptyBraces = False,+ spaceAfterLabel = False,+ spaceBeforeComma = False,+ spaceAfterComma = True,+ semicolons = False,+ cStyle = False,+ removeRedundantParens = True,+ assumeOperatorAssociativity = True,+ minimizeParens = False,+ indentation = " "+}++metaDoc :: Maybe MToken -> Doc+metaDoc (Just m) = zchr ':' <> tok m+metaDoc Nothing = empty++printVarList :: [(PrefixExp, Maybe MExpr)] -> Doc+printVarList vars =+ printList pp_prefixexp ", " (map fst vars)+ <-> zchr '='+ <-> printList pp_mexpr ", " (catMaybes . map snd $ vars)++printStats :: [MStat] -> Int -> Doc+printStats [] _ = empty+printStats (x : xs) i = nest (i * 4) (pp_mstat x i) $+$ printStats xs i++printElIfs :: [(MExpr, Block)] -> Int -> Doc+printElIfs [] _ = empty+printElIfs ((e, b) : es) i =+ zeroWidthText "elseif"+ <-> pp_mexpr e+ <-> zeroWidthText "then"+ $+$ pp_block b i+ $+$ printElIfs es i++printEls :: Maybe Block -> Int -> Doc+printEls Nothing _ = empty+printEls (Just b) i = zeroWidthText "else" $+$ pp_block b i+++renderPos :: LineColPos -> String+renderPos (LineColPos l c _) = "line " ++ show (succ l) ++ ", column " ++ show (succ c)++renderRegion :: Region -> String+renderRegion (Region l r) = renderPos l ++ " - " ++ renderPos r++renderSourcePos :: SourcePos -> String+renderSourcePos sp =+ "line "+ ++ (show . succ . sourceLine $ sp)+ ++ ", column "+ ++ (show . succ . sourceColumn $ sp)++getMStatPos :: MStat -> String+getMStatPos (MStat p _) = renderRegion p++getAReturnPos :: AReturn -> String+getAReturnPos (AReturn p _) = renderRegion p+getAReturnPos NoReturn = "<unknown>"++getMExprPos :: MExpr -> String+getMExprPos (MExpr p _) = renderRegion p++renderPSError :: ParseError -> String+renderPSError ps =+ map replNL+ . showErrorMessages+ "or"+ "unknown parse error"+ "expecting"+ "unexpected"+ "end of input"+ . errorMessages+ $ ps+ where+ replNL '\n' = ' '+ replNL c = c++-- | Render comments on multiple lines+renderMLComments :: PrettyPrintConfig -> Int -> [MToken] -> Doc+renderMLComments conf ind toks =+ foldl' ($+$) empty . map (indent conf ind . tok . convertComment conf) $ toks++-- | Render comments, and prefer having them on a single line. It may not print comments on the same+-- line if that would cause a syntax error (e.g. a multiline comment after a single line comment)+renderSLComments :: PrettyPrintConfig -> Int -> [MToken] -> Doc+renderSLComments conf ind toks = foldl' combine empty . map (convertComment conf) $ toks+ where+ combine :: Doc -> MToken -> Doc+ combine acc mt@(MToken _pos t) =+ case t of+ -- Block comments after single line comments cannot be printed on the same line, as that+ -- would cause a syntax error, e.g. in this case:++ -- foo = { -- single line comment+ -- --[[multiline+ -- comment+ -- ]]+ -- }+ -- Make sure in these cases the comment is printed on a new line, rather than on the+ -- same line+ DashBlockComment _depth comment | '\n' `elem` comment ->+ acc $+$ (indent conf ind $ tok mt)+ SlashBlockComment comment | '\n' `elem` comment ->+ acc $+$ (indent conf ind $ tok mt)+ _ -> acc <-> tok mt++convertComment :: PrettyPrintConfig -> MToken -> MToken+convertComment conf (MToken p t) = MToken p $ convert' t+ where+ convert' :: Token -> Token+ convert' = if cStyle conf then cComment else luaComment++ luaComment :: Token -> Token+ luaComment (SlashComment s) = DashComment s+ luaComment (SlashBlockComment s) = DashBlockComment (lastBracket s) s+ luaComment t' = t'++ -- converting /*]*/ would end up in --[[]]] when plainly converted+ -- Deepen the block comment by 1 if that's the case+ lastBracket :: String -> Int+ lastBracket [] = 0+ lastBracket s = if last s == ']' then 1 else 0++ cComment :: Token -> Token+ cComment (DashComment s) = SlashComment s+ cComment (DashBlockComment _ s) = SlashBlockComment s+ cComment t' = t'++indent :: PrettyPrintConfig -> Int -> Doc -> Doc+indent conf n = (<>) $ zeroWidthText (concat . replicate n $ indentation conf)++parens :: PrettyPrintConfig -> IsEmpty -> Doc -> Doc+parens conf ie doc = zchr '(' `sep'` doc `sep'` zchr ')'+ where+ sep' :: Doc -> Doc -> Doc+ sep' =+ if spaceAfterParens conf && (not (fromEmpty ie) || spaceEmptyParens conf)+ then (<->)+ else (<>)++brackets :: PrettyPrintConfig -> Doc -> Doc+brackets conf doc = zchr '[' `sep'` doc `sep'` zchr ']'+ where+ sep' :: Doc -> Doc -> Doc+ sep' = if spaceAfterBrackets conf then (<->) else (<>)++braces :: PrettyPrintConfig -> IsEmpty -> Doc -> Doc+braces conf ie doc = zchr '{' `sep'` doc `sep'` zchr '}'+ where+ sep' :: Doc -> Doc -> Doc+ sep' =+ if spaceAfterBraces conf && (not (fromEmpty ie) || spaceEmptyBraces conf)+ then (<->)+ else (<>)++-- Zero width char+zchr :: Char -> Doc+zchr c = zeroWidthText [c]++-- Zero width <+>+infixl 6 <->+(<->) :: Doc -> Doc -> Doc+a <-> b | a == empty = b+ | b == empty = a+ | otherwise = a <> zchr ' ' <> b++-- Operator levels, where level 1 is the lowest level, and level 8 is the highest one+-- See http://www.lua.org/manual/5.2/manual.html#3.4.7+data OperatorLevel+ -- At the top level, there is no assigned operator level yet. This serves as a bottom value.+ = TopLevelExpression+ | OperatorLevel1+ | OperatorLevel2+ | OperatorLevel3+ | OperatorLevel4+ | OperatorLevel5+ | OperatorLevel6+ | OperatorLevel7+ | OperatorLevel8+ deriving (Eq, Ord)++-- | Returns true when any of the comments contain the string "format: multiline"+commentsForceMultiline :: [MToken] -> Bool+commentsForceMultiline commentTokens = any containsFormatMultiline commentTokens+ where+ containsFormatMultiline :: MToken -> Bool+ containsFormatMultiline (MToken _pos t) = case t of+ DashComment comment -> stringForcesFormat comment+ DashBlockComment _ comment -> stringForcesFormat comment+ SlashComment comment -> stringForcesFormat comment+ SlashBlockComment comment -> stringForcesFormat comment+ _ -> False++ stringForcesFormat :: String -> Bool+ stringForcesFormat s = "format: multiline" `isInfixOf` s++{-# LINE 273 "src/GLua/AG/PrettyPrint.hs" #-}++{-# LINE 1206 "src/GLua/AG/PrettyPrint.ag" #-}+++pp_block :: Block -> Int -> Doc+pp_block p i = pretty_Syn_Block (wrap_Block (sem_Block p) (emptyInh_Block {indent_Inh_Block = i}))++pp_mstat :: MStat -> Int -> Doc+pp_mstat p i = pretty_Syn_MStat (wrap_MStat (sem_MStat p) emptyInh_MStat {indent_Inh_MStat = i})++pp_prefixexp :: PrefixExp -> Doc+pp_prefixexp p = pretty_Syn_PrefixExp (wrap_PrefixExp (sem_PrefixExp p) emptyInh_PrefixExp)++pp_pfexprsuffix :: PFExprSuffix -> Doc+pp_pfexprsuffix p =+ pretty_Syn_PFExprSuffix (wrap_PFExprSuffix (sem_PFExprSuffix p) emptyInh_PFExprSuffix)++pp_field :: Field -> Doc+pp_field p = pretty_Syn_Field (wrap_Field (sem_Field p) emptyInh_Field)++pp_mexpr :: MExpr -> Doc+pp_mexpr p = pretty_Syn_MExpr (wrap_MExpr (sem_MExpr p) emptyInh_MExpr)++prettyprint :: AST -> String+prettyprint p = render $ pretty_Syn_AST (wrap_AST (sem_AST p) emptyInh_AST)++prettyprintConf :: PrettyPrintConfig -> AST -> String+prettyprintConf conf p =+ render $ pretty_Syn_AST (wrap_AST (sem_AST p) emptyInh_AST {ppconf_Inh_AST = conf})++renderBlock :: Block -> String+renderBlock p = render $ pretty_Syn_Block (wrap_Block (sem_Block p) emptyInh_Block)++renderStat :: Stat -> String+renderStat p = render $ pretty_Syn_Stat (wrap_Stat (sem_Stat p) emptyInh_Stat)++renderMStat :: MStat -> String+renderMStat p = render $ pretty_Syn_MStat (wrap_MStat (sem_MStat p) emptyInh_MStat)++renderAReturn :: AReturn -> String+renderAReturn p = render $ pretty_Syn_AReturn (wrap_AReturn (sem_AReturn p) emptyInh_AReturn)++renderFuncName :: FuncName -> String+renderFuncName p = render $ pretty_Syn_FuncName (wrap_FuncName (sem_FuncName p) emptyInh_FuncName)++renderPrefixExp :: PrefixExp -> String+renderPrefixExp p =+ render $ pretty_Syn_PrefixExp (wrap_PrefixExp (sem_PrefixExp p) emptyInh_PrefixExp)++renderExpr :: Expr -> String+renderExpr p = render $ pretty_Syn_Expr (wrap_Expr (sem_Expr p) emptyInh_Expr)++renderMExpr :: MExpr -> String+renderMExpr p = render $ pretty_Syn_MExpr (wrap_MExpr (sem_MExpr p) emptyInh_MExpr)++renderArgs :: Args -> String+renderArgs p = render $ pretty_Syn_Args (wrap_Args (sem_Args p) emptyInh_Args)++renderField :: Field -> String+renderField p = render $ pretty_Syn_Field (wrap_Field (sem_Field p) emptyInh_Field)++emptyInh_Field :: Inh_Field+emptyInh_Field =+ Inh_Field+ { comments_Inh_Field = []+ , forceMultiline_Inh_Field = False+ , indent_Inh_Field = 0+ , ppconf_Inh_Field = defaultPPConfig+ }++emptyInh_Args :: Inh_Args+emptyInh_Args =+ Inh_Args+ { comments_Inh_Args = []+ , forceMultiline_Inh_Args = False+ , indent_Inh_Args = 0+ , ppconf_Inh_Args = defaultPPConfig+ }++emptyInh_MExpr :: Inh_MExpr+emptyInh_MExpr =+ Inh_MExpr+ { comments_Inh_MExpr = []+ , forceMultiline_Inh_MExpr = False+ , indent_Inh_MExpr = 0+ , parentOperatorAssociative_Inh_MExpr = True+ , parentOperatorPrecedence_Inh_MExpr = TopLevelExpression+ , ppconf_Inh_MExpr = defaultPPConfig+ }++emptyInh_Expr :: Inh_Expr+emptyInh_Expr =+ Inh_Expr+ { comments_Inh_Expr = []+ , forceMultiline_Inh_Expr = False+ , indent_Inh_Expr = 0+ , parentOperatorAssociative_Inh_Expr = True+ , parentOperatorPrecedence_Inh_Expr = TopLevelExpression+ , ppconf_Inh_Expr = defaultPPConfig+ , statRegion_Inh_Expr = emptyRg+ }++emptyInh_PrefixExp :: Inh_PrefixExp+emptyInh_PrefixExp =+ Inh_PrefixExp+ { comments_Inh_PrefixExp = []+ , forceMultiline_Inh_PrefixExp = False+ , indent_Inh_PrefixExp = 0+ , parentOperatorAssociative_Inh_PrefixExp = True+ , parentOperatorPrecedence_Inh_PrefixExp = TopLevelExpression+ , ppconf_Inh_PrefixExp = defaultPPConfig+ }++emptyInh_FuncName :: Inh_FuncName+emptyInh_FuncName =+ Inh_FuncName+ { comments_Inh_FuncName = []+ , indent_Inh_FuncName = 0+ , ppconf_Inh_FuncName = defaultPPConfig+ }++emptyInh_AReturn :: Inh_AReturn+emptyInh_AReturn =+ Inh_AReturn+ { comments_Inh_AReturn = []+ , forceMultiline_Inh_AReturn = False+ , indent_Inh_AReturn = 0+ , ppconf_Inh_AReturn = defaultPPConfig+ }++emptyInh_MStat :: Inh_MStat+emptyInh_MStat =+ Inh_MStat+ { comments_Inh_MStat = []+ , forceMultiline_Inh_MStat = False+ , indent_Inh_MStat = 0+ , isLastStatement_Inh_MStat = False+ , ppconf_Inh_MStat = defaultPPConfig+ , wouldBeAmbiguousWithoutSemicolon_Inh_MStat = False+ }++emptyInh_Stat :: Inh_Stat+emptyInh_Stat =+ Inh_Stat+ { comments_Inh_Stat = []+ , forceMultiline_Inh_Stat = False+ , indent_Inh_Stat = 0+ , isLastStatement_Inh_Stat = False+ , ppconf_Inh_Stat = defaultPPConfig+ , statRegion_Inh_Stat = emptyRg+ , wouldBeAmbiguousWithoutSemicolon_Inh_Stat = False+ }++emptyInh_Block :: Inh_Block+emptyInh_Block =+ Inh_Block+ { comments_Inh_Block = []+ , forceMultiline_Inh_Block = False+ , indent_Inh_Block = 0+ , ppconf_Inh_Block = defaultPPConfig+ , statRegion_Inh_Block = emptyRg+ }++emptyInh_AST :: Inh_AST+emptyInh_AST =+ Inh_AST+ { indent_Inh_AST = 0+ , ppconf_Inh_AST = defaultPPConfig+ }++emptyInh_PFExprSuffix :: Inh_PFExprSuffix+emptyInh_PFExprSuffix =+ Inh_PFExprSuffix+ { comments_Inh_PFExprSuffix = []+ , forceMultiline_Inh_PFExprSuffix = False+ , indent_Inh_PFExprSuffix = 0+ , ppconf_Inh_PFExprSuffix = defaultPPConfig+ }++{-# LINE 453 "src/GLua/AG/PrettyPrint.hs" #-}+-- AReturn -----------------------------------------------------+-- cata+sem_AReturn :: AReturn ->+ T_AReturn+sem_AReturn (AReturn _pos _values) =+ (sem_AReturn_AReturn _pos (sem_MExprList _values))+sem_AReturn (NoReturn) =+ (sem_AReturn_NoReturn)+-- semantic domain+type T_AReturn = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),AReturn,Bool,Doc,Int)+data Inh_AReturn = Inh_AReturn {comments_Inh_AReturn :: ([MToken]),forceMultiline_Inh_AReturn :: Bool,indent_Inh_AReturn :: Int,ppconf_Inh_AReturn :: PrettyPrintConfig}+data Syn_AReturn = Syn_AReturn {comments_Syn_AReturn :: ([MToken]),copy_Syn_AReturn :: AReturn,isMultiline_Syn_AReturn :: Bool,pretty_Syn_AReturn :: Doc,statementCount_Syn_AReturn :: Int}+wrap_AReturn :: T_AReturn ->+ Inh_AReturn ->+ Syn_AReturn+wrap_AReturn sem (Inh_AReturn _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty,_lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_AReturn _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty _lhsOstatementCount))+sem_AReturn_AReturn :: Region ->+ T_MExprList ->+ T_AReturn+sem_AReturn_AReturn pos_ values_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _valuesOcomments :: ([MToken])+ _lhsOcomments :: ([MToken])+ _valuesOforceMultiline :: Bool+ _valuesOsomeElementsInListAreMultiline :: Bool+ _lhsOstatementCount :: Int+ _lhsOcopy :: AReturn+ _valuesOindent :: Int+ _valuesOppconf :: PrettyPrintConfig+ _valuesIcomments :: ([MToken])+ _valuesIcopy :: MExprList+ _valuesIisAssociative :: Bool+ _valuesIisLast :: Bool+ _valuesIisMultiline :: Bool+ _valuesIpos :: Region+ _valuesIprecedence :: OperatorLevel+ _valuesIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 864 "src/GLua/AG/PrettyPrint.ag" #-}+ renderMLComments _lhsIppconf _lhsIindent (fst _commentsBefore )+ $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "return")+ <-> _valuesIpretty+ <> _semicolon+ <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter )+ {-# LINE 509 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 870 "src/GLua/AG/PrettyPrint.ag" #-}+ _valuesIisMultiline+ || not (null $ fst _commentsBefore )+ || not (null $ fst _commentsAfter )+ {-# LINE 516 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _semicolon =+ ({-# LINE 874 "src/GLua/AG/PrettyPrint.ag" #-}+ if semicolons _lhsIppconf then zchr ';' else empty+ {-# LINE 521 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsBefore =+ ({-# LINE 875 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `before` pos_) _lhsIcomments+ {-# LINE 526 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valuesOcomments =+ ({-# LINE 876 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsBefore+ {-# LINE 531 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfter =+ ({-# LINE 877 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `beforeOrOnLine` (rgOr _valuesIpos pos_)) _valuesIcomments+ {-# LINE 536 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 879 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfter+ {-# LINE 541 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valuesOforceMultiline =+ ({-# LINE 883 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 546 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valuesOsomeElementsInListAreMultiline =+ ({-# LINE 884 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 551 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstatementCount =+ ({-# LINE 885 "src/GLua/AG/PrettyPrint.ag" #-}+ 1+ {-# LINE 556 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AReturn pos_ _valuesIcopy+ {-# LINE 561 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 566 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valuesOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 571 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valuesOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 576 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _valuesIcomments,_valuesIcopy,_valuesIisAssociative,_valuesIisLast,_valuesIisMultiline,_valuesIpos,_valuesIprecedence,_valuesIpretty) =+ values_ _valuesOcomments _valuesOforceMultiline _valuesOindent _valuesOppconf _valuesOsomeElementsInListAreMultiline+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty,_lhsOstatementCount)))+sem_AReturn_NoReturn :: T_AReturn+sem_AReturn_NoReturn =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOstatementCount :: Int+ _lhsOisMultiline :: Bool+ _lhsOcopy :: AReturn+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 887 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 595 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstatementCount =+ ({-# LINE 888 "src/GLua/AG/PrettyPrint.ag" #-}+ 0+ {-# LINE 600 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 889 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 605 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ NoReturn+ {-# LINE 610 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 615 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 620 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty,_lhsOstatementCount)))+-- AST ---------------------------------------------------------+-- cata+sem_AST :: AST ->+ T_AST+sem_AST (AST _comments _chunk) =+ (sem_AST_AST _comments (sem_Block _chunk))+-- semantic domain+type T_AST = Int ->+ PrettyPrintConfig ->+ ( AST,Bool,Doc)+data Inh_AST = Inh_AST {indent_Inh_AST :: Int,ppconf_Inh_AST :: PrettyPrintConfig}+data Syn_AST = Syn_AST {copy_Syn_AST :: AST,isMultiline_Syn_AST :: Bool,pretty_Syn_AST :: Doc}+wrap_AST :: T_AST ->+ Inh_AST ->+ Syn_AST+wrap_AST sem (Inh_AST _lhsIindent _lhsIppconf) =+ (let ( _lhsOcopy,_lhsOisMultiline,_lhsOpretty) = sem _lhsIindent _lhsIppconf+ in (Syn_AST _lhsOcopy _lhsOisMultiline _lhsOpretty))+sem_AST_AST :: ([MToken]) ->+ T_Block ->+ T_AST+sem_AST_AST comments_ chunk_ =+ (\ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _chunkOcomments :: ([MToken])+ _chunkOstatRegion :: Region+ _chunkOforceMultiline :: Bool+ _lhsOcopy :: AST+ _chunkOindent :: Int+ _chunkOppconf :: PrettyPrintConfig+ _chunkIcomments :: ([MToken])+ _chunkIcopy :: Block+ _chunkIisMultiline :: Bool+ _chunkIpretty :: Doc+ _chunkIstatementCount :: Int+ _lhsOpretty =+ ({-# LINE 621 "src/GLua/AG/PrettyPrint.ag" #-}+ _chunkIpretty $+$ _prettyComments+ {-# LINE 663 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 622 "src/GLua/AG/PrettyPrint.ag" #-}+ _chunkIisMultiline+ {-# LINE 668 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _prettyComments =+ ({-# LINE 623 "src/GLua/AG/PrettyPrint.ag" #-}+ renderMLComments _lhsIppconf _lhsIindent _chunkIcomments+ {-# LINE 673 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _chunkOcomments =+ ({-# LINE 624 "src/GLua/AG/PrettyPrint.ag" #-}+ comments_+ {-# LINE 678 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _chunkOstatRegion =+ ({-# LINE 625 "src/GLua/AG/PrettyPrint.ag" #-}+ emptyRg+ {-# LINE 683 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _chunkOforceMultiline =+ ({-# LINE 626 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 688 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AST comments_ _chunkIcopy+ {-# LINE 693 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 698 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _chunkOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 703 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _chunkOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 708 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _chunkIcomments,_chunkIcopy,_chunkIisMultiline,_chunkIpretty,_chunkIstatementCount) =+ chunk_ _chunkOcomments _chunkOforceMultiline _chunkOindent _chunkOppconf _chunkOstatRegion+ in ( _lhsOcopy,_lhsOisMultiline,_lhsOpretty)))+-- Args --------------------------------------------------------+-- cata+sem_Args :: Args ->+ T_Args+sem_Args (ListArgs _args) =+ (sem_Args_ListArgs (sem_MExprList _args))+sem_Args (TableArg _arg) =+ (sem_Args_TableArg (sem_FieldList _arg))+sem_Args (StringArg _arg) =+ (sem_Args_StringArg _arg)+-- semantic domain+type T_Args = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),Args,Bool,Doc)+data Inh_Args = Inh_Args {comments_Inh_Args :: ([MToken]),forceMultiline_Inh_Args :: Bool,indent_Inh_Args :: Int,ppconf_Inh_Args :: PrettyPrintConfig}+data Syn_Args = Syn_Args {comments_Syn_Args :: ([MToken]),copy_Syn_Args :: Args,isMultiline_Syn_Args :: Bool,pretty_Syn_Args :: Doc}+wrap_Args :: T_Args ->+ Inh_Args ->+ Syn_Args+wrap_Args sem (Inh_Args _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_Args _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty))+sem_Args_ListArgs :: T_MExprList ->+ T_Args+sem_Args_ListArgs args_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _argsOindent :: Int+ _argsOsomeElementsInListAreMultiline :: Bool+ _lhsOcopy :: Args+ _lhsOcomments :: ([MToken])+ _argsOcomments :: ([MToken])+ _argsOforceMultiline :: Bool+ _argsOppconf :: PrettyPrintConfig+ _argsIcomments :: ([MToken])+ _argsIcopy :: MExprList+ _argsIisAssociative :: Bool+ _argsIisLast :: Bool+ _argsIisMultiline :: Bool+ _argsIpos :: Region+ _argsIprecedence :: OperatorLevel+ _argsIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 1062 "src/GLua/AG/PrettyPrint.ag" #-}+ if _argsIisMultiline then+ zchr '(' $+$+ _argsIpretty $+$+ indent _lhsIppconf _lhsIindent (zchr ')')+ else+ parens _lhsIppconf _emptyParams _argsIpretty+ {-# LINE 769 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1069 "src/GLua/AG/PrettyPrint.ag" #-}+ _argsIisMultiline+ {-# LINE 774 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _emptyParams =+ ({-# LINE 1070 "src/GLua/AG/PrettyPrint.ag" #-}+ toEmpty $ null _argsIcopy+ {-# LINE 779 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOindent =+ ({-# LINE 1071 "src/GLua/AG/PrettyPrint.ag" #-}+ if _argsIisMultiline then _lhsIindent + 1 else 0+ {-# LINE 784 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOsomeElementsInListAreMultiline =+ ({-# LINE 1072 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 789 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ListArgs _argsIcopy+ {-# LINE 794 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 799 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _argsIcomments+ {-# LINE 804 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 809 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 814 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 819 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _argsIcomments,_argsIcopy,_argsIisAssociative,_argsIisLast,_argsIisMultiline,_argsIpos,_argsIprecedence,_argsIpretty) =+ args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf _argsOsomeElementsInListAreMultiline+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))+sem_Args_TableArg :: T_FieldList ->+ T_Args+sem_Args_TableArg arg_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _argOindent :: Int+ _argOsomeElementsInListAreMultiline :: Bool+ _lhsOcopy :: Args+ _lhsOcomments :: ([MToken])+ _argOcomments :: ([MToken])+ _argOforceMultiline :: Bool+ _argOppconf :: PrettyPrintConfig+ _argIcomments :: ([MToken])+ _argIcopy :: FieldList+ _argIisMultiline :: Bool+ _argIisNil :: Bool+ _argIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 1074 "src/GLua/AG/PrettyPrint.ag" #-}+ if _argIisMultiline then _prettyMulti else _prettySingle+ {-# LINE 848 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1075 "src/GLua/AG/PrettyPrint.ag" #-}+ _argIisMultiline+ {-# LINE 853 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _prettyMulti =+ ({-# LINE 1076 "src/GLua/AG/PrettyPrint.ag" #-}+ zchr '{' $+$ _argIpretty $+$ indent _lhsIppconf _lhsIindent (zchr '}')+ {-# LINE 858 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _prettySingle =+ ({-# LINE 1077 "src/GLua/AG/PrettyPrint.ag" #-}+ braces _lhsIppconf _emptyContents _argIpretty+ {-# LINE 863 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _emptyContents =+ ({-# LINE 1078 "src/GLua/AG/PrettyPrint.ag" #-}+ toEmpty $ null _argIcopy+ {-# LINE 868 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argOindent =+ ({-# LINE 1079 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + (if _argIisMultiline then 1 else 0)+ {-# LINE 873 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argOsomeElementsInListAreMultiline =+ ({-# LINE 1080 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 878 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ TableArg _argIcopy+ {-# LINE 883 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 888 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _argIcomments+ {-# LINE 893 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 898 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 903 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 908 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _argIcomments,_argIcopy,_argIisMultiline,_argIisNil,_argIpretty) =+ arg_ _argOcomments _argOforceMultiline _argOindent _argOppconf _argOsomeElementsInListAreMultiline+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))+sem_Args_StringArg :: MToken ->+ T_Args+sem_Args_StringArg arg_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOcopy :: Args+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1082 "src/GLua/AG/PrettyPrint.ag" #-}+ tok arg_+ {-# LINE 927 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1083 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 932 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ StringArg arg_+ {-# LINE 937 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 942 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 947 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))+-- BinOp -------------------------------------------------------+-- cata+sem_BinOp :: BinOp ->+ T_BinOp+sem_BinOp (AOr) =+ (sem_BinOp_AOr)+sem_BinOp (AAnd) =+ (sem_BinOp_AAnd)+sem_BinOp (ALT) =+ (sem_BinOp_ALT)+sem_BinOp (AGT) =+ (sem_BinOp_AGT)+sem_BinOp (ALEQ) =+ (sem_BinOp_ALEQ)+sem_BinOp (AGEQ) =+ (sem_BinOp_AGEQ)+sem_BinOp (ANEq) =+ (sem_BinOp_ANEq)+sem_BinOp (AEq) =+ (sem_BinOp_AEq)+sem_BinOp (AConcatenate) =+ (sem_BinOp_AConcatenate)+sem_BinOp (APlus) =+ (sem_BinOp_APlus)+sem_BinOp (BinMinus) =+ (sem_BinOp_BinMinus)+sem_BinOp (AMultiply) =+ (sem_BinOp_AMultiply)+sem_BinOp (ADivide) =+ (sem_BinOp_ADivide)+sem_BinOp (AModulus) =+ (sem_BinOp_AModulus)+sem_BinOp (APower) =+ (sem_BinOp_APower)+-- semantic domain+type T_BinOp = ([MToken]) ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),BinOp,Bool,Bool,OperatorLevel,Doc)+data Inh_BinOp = Inh_BinOp {comments_Inh_BinOp :: ([MToken]),indent_Inh_BinOp :: Int,ppconf_Inh_BinOp :: PrettyPrintConfig}+data Syn_BinOp = Syn_BinOp {comments_Syn_BinOp :: ([MToken]),copy_Syn_BinOp :: BinOp,isAssociative_Syn_BinOp :: Bool,isMultiline_Syn_BinOp :: Bool,precedence_Syn_BinOp :: OperatorLevel,pretty_Syn_BinOp :: Doc}+wrap_BinOp :: T_BinOp ->+ Inh_BinOp ->+ Syn_BinOp+wrap_BinOp sem (Inh_BinOp _lhsIcomments _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf+ in (Syn_BinOp _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty))+sem_BinOp_AOr :: T_BinOp+sem_BinOp_AOr =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1190 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText (if cStyle _lhsIppconf then "||" else "or")+ {-# LINE 1011 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1191 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1016 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1192 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel1+ {-# LINE 1021 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1193 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1026 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AOr+ {-# LINE 1031 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1036 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1041 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_AAnd :: T_BinOp+sem_BinOp_AAnd =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1185 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText (if cStyle _lhsIppconf then "&&" else "and")+ {-# LINE 1058 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1186 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1063 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1187 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel2+ {-# LINE 1068 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1188 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1073 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AAnd+ {-# LINE 1078 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1083 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1088 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_ALT :: T_BinOp+sem_BinOp_ALT =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1155 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "<"+ {-# LINE 1105 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1156 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1110 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1157 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel3+ {-# LINE 1115 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1158 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1120 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ALT+ {-# LINE 1125 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1130 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1135 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_AGT :: T_BinOp+sem_BinOp_AGT =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1165 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText ">"+ {-# LINE 1152 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1166 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1157 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1167 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel3+ {-# LINE 1162 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1168 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1167 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AGT+ {-# LINE 1172 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1177 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1182 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_ALEQ :: T_BinOp+sem_BinOp_ALEQ =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1160 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "<="+ {-# LINE 1199 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1161 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1204 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1162 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel3+ {-# LINE 1209 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1163 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1214 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ALEQ+ {-# LINE 1219 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1224 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1229 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_AGEQ :: T_BinOp+sem_BinOp_AGEQ =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1170 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText ">="+ {-# LINE 1246 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1171 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1251 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1172 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel3+ {-# LINE 1256 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1173 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1261 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AGEQ+ {-# LINE 1266 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1271 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1276 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_ANEq :: T_BinOp+sem_BinOp_ANEq =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1180 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText (if cStyle _lhsIppconf then "!=" else "~=")+ {-# LINE 1293 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1181 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1298 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1182 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel3+ {-# LINE 1303 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1183 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1308 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ANEq+ {-# LINE 1313 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1318 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1323 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_AEq :: T_BinOp+sem_BinOp_AEq =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1175 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "=="+ {-# LINE 1340 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1176 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1345 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1177 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel3+ {-# LINE 1350 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1178 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1355 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AEq+ {-# LINE 1360 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1365 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1370 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_AConcatenate :: T_BinOp+sem_BinOp_AConcatenate =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1150 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText ".."+ {-# LINE 1387 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1151 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1392 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1152 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel4+ {-# LINE 1397 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1153 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1402 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AConcatenate+ {-# LINE 1407 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1412 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1417 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_APlus :: T_BinOp+sem_BinOp_APlus =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1120 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "+"+ {-# LINE 1434 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1121 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1439 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1122 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel5+ {-# LINE 1444 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1123 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1449 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ APlus+ {-# LINE 1454 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1459 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1464 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_BinMinus :: T_BinOp+sem_BinOp_BinMinus =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1125 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "-"+ {-# LINE 1481 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1126 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1486 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1127 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel5+ {-# LINE 1491 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1128 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1496 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ BinMinus+ {-# LINE 1501 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1506 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1511 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_AMultiply :: T_BinOp+sem_BinOp_AMultiply =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1130 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "*"+ {-# LINE 1528 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1131 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1533 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1132 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel6+ {-# LINE 1538 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1133 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1543 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AMultiply+ {-# LINE 1548 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1553 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1558 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_ADivide :: T_BinOp+sem_BinOp_ADivide =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1135 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "/"+ {-# LINE 1575 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1136 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1580 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1137 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel6+ {-# LINE 1585 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1138 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1590 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ADivide+ {-# LINE 1595 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1600 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1605 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_AModulus :: T_BinOp+sem_BinOp_AModulus =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1140 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "%"+ {-# LINE 1622 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1141 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1627 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1142 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel6+ {-# LINE 1632 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1143 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1637 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AModulus+ {-# LINE 1642 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1647 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1652 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_BinOp_APower :: T_BinOp+sem_BinOp_APower =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOcopy :: BinOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1145 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "^"+ {-# LINE 1669 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1146 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1674 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1147 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 1679 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 1148 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 1684 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ APower+ {-# LINE 1689 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1694 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1699 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+-- Block -------------------------------------------------------+-- cata+sem_Block :: Block ->+ T_Block+sem_Block (Block _pos _stats _ret) =+ (sem_Block_Block _pos (sem_MStatList _stats) (sem_AReturn _ret))+-- semantic domain+type T_Block = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ Region ->+ ( ([MToken]),Block,Bool,Doc,Int)+data Inh_Block = Inh_Block {comments_Inh_Block :: ([MToken]),forceMultiline_Inh_Block :: Bool,indent_Inh_Block :: Int,ppconf_Inh_Block :: PrettyPrintConfig,statRegion_Inh_Block :: Region}+data Syn_Block = Syn_Block {comments_Syn_Block :: ([MToken]),copy_Syn_Block :: Block,isMultiline_Syn_Block :: Bool,pretty_Syn_Block :: Doc,statementCount_Syn_Block :: Int}+wrap_Block :: T_Block ->+ Inh_Block ->+ Syn_Block+wrap_Block sem (Inh_Block _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty,_lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion+ in (Syn_Block _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty _lhsOstatementCount))+sem_Block_Block :: Region ->+ T_MStatList ->+ T_AReturn ->+ T_Block+sem_Block_Block pos_ stats_ ret_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOcomments :: ([MToken])+ _lhsOstatementCount :: Int+ _lhsOcopy :: Block+ _lhsOisMultiline :: Bool+ _statsOcomments :: ([MToken])+ _statsOforceMultiline :: Bool+ _statsOindent :: Int+ _statsOppconf :: PrettyPrintConfig+ _statsOstatRegion :: Region+ _retOcomments :: ([MToken])+ _retOforceMultiline :: Bool+ _retOindent :: Int+ _retOppconf :: PrettyPrintConfig+ _statsIcomments :: ([MToken])+ _statsIcopy :: MStatList+ _statsIisLast :: Bool+ _statsIisMultiline :: Bool+ _statsIpretty :: Doc+ _statsIstartsWithExprPrefixExpression :: Bool+ _statsIstatementCount :: Int+ _retIcomments :: ([MToken])+ _retIcopy :: AReturn+ _retIisMultiline :: Bool+ _retIpretty :: Doc+ _retIstatementCount :: Int+ _lhsOpretty =+ ({-# LINE 630 "src/GLua/AG/PrettyPrint.ag" #-}+ if _isMultiline+ then _statsIpretty $+$ _retIpretty $+$ _prettyCommentsAfter+ else _statsIpretty <-> _retIpretty+ {-# LINE 1764 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statementCount =+ ({-# LINE 634 "src/GLua/AG/PrettyPrint.ag" #-}+ _statsIstatementCount + _retIstatementCount+ {-# LINE 1769 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _isMultiline =+ ({-# LINE 635 "src/GLua/AG/PrettyPrint.ag" #-}+ _statsIisMultiline || _retIisMultiline || _statementCount > 1 || not (null $ fst $ _commentsAfter )+ {-# LINE 1774 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfter =+ ({-# LINE 636 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `beforeEnd` pos_) _retIcomments+ {-# LINE 1779 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _prettyCommentsAfter =+ ({-# LINE 637 "src/GLua/AG/PrettyPrint.ag" #-}+ renderMLComments _lhsIppconf _lhsIindent $ fst _commentsAfter+ {-# LINE 1784 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 638 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfter+ {-# LINE 1789 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstatementCount =+ ({-# LINE 324 "src/GLua/AG/PrettyPrint.ag" #-}+ _statementCount+ {-# LINE 1794 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ Block pos_ _statsIcopy _retIcopy+ {-# LINE 1799 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1804 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}+ _isMultiline+ {-# LINE 1809 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1814 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statsOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 1819 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statsOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 1824 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statsOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 1829 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statsOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 1834 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _retOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _statsIcomments+ {-# LINE 1839 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _retOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 1844 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _retOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 1849 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _retOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 1854 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _statsIcomments,_statsIcopy,_statsIisLast,_statsIisMultiline,_statsIpretty,_statsIstartsWithExprPrefixExpression,_statsIstatementCount) =+ stats_ _statsOcomments _statsOforceMultiline _statsOindent _statsOppconf _statsOstatRegion+ ( _retIcomments,_retIcopy,_retIisMultiline,_retIpretty,_retIstatementCount) =+ ret_ _retOcomments _retOforceMultiline _retOindent _retOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty,_lhsOstatementCount)))+-- Declaration -------------------------------------------------+-- cata+sem_Declaration :: Declaration ->+ T_Declaration+sem_Declaration ( x1,x2) =+ (sem_Declaration_Tuple (sem_PrefixExp x1) (sem_MaybeMExpr x2))+-- semantic domain+type T_Declaration = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),Declaration,Bool,Doc,Bool,Bool,Doc,Bool,Doc)+data Inh_Declaration = Inh_Declaration {comments_Inh_Declaration :: ([MToken]),forceMultiline_Inh_Declaration :: Bool,indent_Inh_Declaration :: Int,ppconf_Inh_Declaration :: PrettyPrintConfig}+data Syn_Declaration = Syn_Declaration {comments_Syn_Declaration :: ([MToken]),copy_Syn_Declaration :: Declaration,endsWithPrefixExpression_Syn_Declaration :: Bool,exprPretty_Syn_Declaration :: Doc,isDefined_Syn_Declaration :: Bool,isMultiline_Syn_Declaration :: Bool,pretty_Syn_Declaration :: Doc,startsWithExprPrefixExpression_Syn_Declaration :: Bool,varPretty_Syn_Declaration :: Doc}+wrap_Declaration :: T_Declaration ->+ Inh_Declaration ->+ Syn_Declaration+wrap_Declaration sem (Inh_Declaration _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOexprPretty,_lhsOisDefined,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOvarPretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_Declaration _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOexprPretty _lhsOisDefined _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOvarPretty))+sem_Declaration_Tuple :: T_PrefixExp ->+ T_MaybeMExpr ->+ T_Declaration+sem_Declaration_Tuple x1_ x2_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOvarPretty :: Doc+ _lhsOexprPretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _x1OparentOperatorPrecedence :: OperatorLevel+ _x1OparentOperatorAssociative :: Bool+ _lhsOisDefined :: Bool+ _lhsOcopy :: Declaration+ _lhsOcomments :: ([MToken])+ _lhsOpretty :: Doc+ _x1Ocomments :: ([MToken])+ _x1OforceMultiline :: Bool+ _x1Oindent :: Int+ _x1Oppconf :: PrettyPrintConfig+ _x2Ocomments :: ([MToken])+ _x2OforceMultiline :: Bool+ _x2Oindent :: Int+ _x2Oppconf :: PrettyPrintConfig+ _x1Icomments :: ([MToken])+ _x1Icopy :: PrefixExp+ _x1IisAssociative :: Bool+ _x1IisLiteral :: Bool+ _x1IisMultiline :: Bool+ _x1Iprecedence :: OperatorLevel+ _x1Ipretty :: Doc+ _x1IstartsWithExprPrefixExpression :: Bool+ _x2Icomments :: ([MToken])+ _x2Icopy :: MaybeMExpr+ _x2IendsWithPrefixExpression :: Bool+ _x2IisAssociative :: Bool+ _x2IisDefined :: Bool+ _x2IisMultiline :: Bool+ _x2Iprecedence :: OperatorLevel+ _x2Ipretty :: Doc+ _lhsOvarPretty =+ ({-# LINE 522 "src/GLua/AG/PrettyPrint.ag" #-}+ _x1Ipretty+ {-# LINE 1927 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOexprPretty =+ ({-# LINE 523 "src/GLua/AG/PrettyPrint.ag" #-}+ _x2Ipretty+ {-# LINE 1932 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 524 "src/GLua/AG/PrettyPrint.ag" #-}+ _x1IstartsWithExprPrefixExpression+ {-# LINE 1937 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 525 "src/GLua/AG/PrettyPrint.ag" #-}+ _x2IendsWithPrefixExpression+ {-# LINE 1942 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 526 "src/GLua/AG/PrettyPrint.ag" #-}+ _x1IisMultiline || _x2IisMultiline+ {-# LINE 1947 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1OparentOperatorPrecedence =+ ({-# LINE 527 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 1952 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1OparentOperatorAssociative =+ ({-# LINE 528 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 1957 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisDefined =+ ({-# LINE 291 "src/GLua/AG/PrettyPrint.ag" #-}+ _x2IisDefined+ {-# LINE 1962 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ (_x1Icopy,_x2Icopy)+ {-# LINE 1967 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 1972 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _x2Icomments+ {-# LINE 1977 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 264 "src/GLua/AG/PrettyPrint.ag" #-}+ _x2Ipretty+ {-# LINE 1982 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1Ocomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 1987 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1OforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 1992 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1Oindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 1997 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1Oppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 2002 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x2Ocomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _x1Icomments+ {-# LINE 2007 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x2OforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 2012 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x2Oindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 2017 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x2Oppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 2022 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _x1Icomments,_x1Icopy,_x1IisAssociative,_x1IisLiteral,_x1IisMultiline,_x1Iprecedence,_x1Ipretty,_x1IstartsWithExprPrefixExpression) =+ x1_ _x1Ocomments _x1OforceMultiline _x1Oindent _x1OparentOperatorAssociative _x1OparentOperatorPrecedence _x1Oppconf+ ( _x2Icomments,_x2Icopy,_x2IendsWithPrefixExpression,_x2IisAssociative,_x2IisDefined,_x2IisMultiline,_x2Iprecedence,_x2Ipretty) =+ x2_ _x2Ocomments _x2OforceMultiline _x2Oindent _x2Oppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOexprPretty,_lhsOisDefined,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOvarPretty)))+-- Else --------------------------------------------------------+-- cata+sem_Else :: Else ->+ T_Else+sem_Else (Prelude.Just x) =+ (sem_Else_Just (sem_MElse x))+sem_Else Prelude.Nothing =+ sem_Else_Nothing+-- semantic domain+type T_Else = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ Region ->+ ( ([MToken]),Else,Bool,Bool,Region,Doc)+data Inh_Else = Inh_Else {comments_Inh_Else :: ([MToken]),forceMultiline_Inh_Else :: Bool,indent_Inh_Else :: Int,ppconf_Inh_Else :: PrettyPrintConfig,statRegion_Inh_Else :: Region}+data Syn_Else = Syn_Else {comments_Syn_Else :: ([MToken]),copy_Syn_Else :: Else,elsesExist_Syn_Else :: Bool,isMultiline_Syn_Else :: Bool,pos_Syn_Else :: Region,pretty_Syn_Else :: Doc}+wrap_Else :: T_Else ->+ Inh_Else ->+ Syn_Else+wrap_Else sem (Inh_Else _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion+ in (Syn_Else _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty))+sem_Else_Just :: T_MElse ->+ T_Else+sem_Else_Just just_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOelsesExist :: Bool+ _lhsOisMultiline :: Bool+ _lhsOcopy :: Else+ _lhsOcomments :: ([MToken])+ _lhsOpos :: Region+ _lhsOpretty :: Doc+ _justOcomments :: ([MToken])+ _justOforceMultiline :: Bool+ _justOindent :: Int+ _justOppconf :: PrettyPrintConfig+ _justOstatRegion :: Region+ _justIcomments :: ([MToken])+ _justIcopy :: MElse+ _justIelsesExist :: Bool+ _justIisMultiline :: Bool+ _justIpos :: Region+ _justIpretty :: Doc+ _lhsOelsesExist =+ ({-# LINE 592 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 2080 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 593 "src/GLua/AG/PrettyPrint.ag" #-}+ _justIisMultiline+ {-# LINE 2085 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ Just _justIcopy+ {-# LINE 2090 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2095 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _justIcomments+ {-# LINE 2100 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 310 "src/GLua/AG/PrettyPrint.ag" #-}+ _justIpos+ {-# LINE 2105 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 264 "src/GLua/AG/PrettyPrint.ag" #-}+ _justIpretty+ {-# LINE 2110 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2115 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 2120 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 2125 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 2130 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 2135 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _justIcomments,_justIcopy,_justIelsesExist,_justIisMultiline,_justIpos,_justIpretty) =+ just_ _justOcomments _justOforceMultiline _justOindent _justOppconf _justOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))+sem_Else_Nothing :: T_Else+sem_Else_Nothing =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOpos :: Region+ _lhsOisMultiline :: Bool+ _lhsOelsesExist :: Bool+ _lhsOcopy :: Else+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 595 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 2156 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 596 "src/GLua/AG/PrettyPrint.ag" #-}+ emptyRg+ {-# LINE 2161 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 597 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2166 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOelsesExist =+ ({-# LINE 327 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2171 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ Nothing+ {-# LINE 2176 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2181 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2186 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))+-- ElseIf ------------------------------------------------------+-- cata+sem_ElseIf :: ElseIf ->+ T_ElseIf+sem_ElseIf ( x1,x2) =+ (sem_ElseIf_Tuple (sem_MExpr x1) (sem_Block x2))+-- semantic domain+type T_ElseIf = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),ElseIf,Bool,Doc)+data Inh_ElseIf = Inh_ElseIf {comments_Inh_ElseIf :: ([MToken]),forceMultiline_Inh_ElseIf :: Bool,indent_Inh_ElseIf :: Int,ppconf_Inh_ElseIf :: PrettyPrintConfig}+data Syn_ElseIf = Syn_ElseIf {comments_Syn_ElseIf :: ([MToken]),copy_Syn_ElseIf :: ElseIf,isMultiline_Syn_ElseIf :: Bool,pretty_Syn_ElseIf :: Doc}+wrap_ElseIf :: T_ElseIf ->+ Inh_ElseIf ->+ Syn_ElseIf+wrap_ElseIf sem (Inh_ElseIf _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_ElseIf _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty))+sem_ElseIf_Tuple :: T_MExpr ->+ T_Block ->+ T_ElseIf+sem_ElseIf_Tuple x1_ x2_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _x2Oindent :: Int+ _x2OstatRegion :: Region+ _x1OparentOperatorPrecedence :: OperatorLevel+ _x1OparentOperatorAssociative :: Bool+ _lhsOcopy :: ElseIf+ _lhsOcomments :: ([MToken])+ _x1Ocomments :: ([MToken])+ _x1OforceMultiline :: Bool+ _x1Oindent :: Int+ _x1Oppconf :: PrettyPrintConfig+ _x2Ocomments :: ([MToken])+ _x2OforceMultiline :: Bool+ _x2Oppconf :: PrettyPrintConfig+ _x1Icomments :: ([MToken])+ _x1Icopy :: MExpr+ _x1IendsWithPrefixExpression :: Bool+ _x1IisAssociative :: Bool+ _x1IisLiteral :: Bool+ _x1IisMultiline :: Bool+ _x1Ipos :: Region+ _x1Iprecedence :: OperatorLevel+ _x1Ipretty :: Doc+ _x2Icomments :: ([MToken])+ _x2Icopy :: Block+ _x2IisMultiline :: Bool+ _x2Ipretty :: Doc+ _x2IstatementCount :: Int+ _lhsOpretty =+ ({-# LINE 567 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "elseif" <-> _x1Ipretty <-> zeroWidthText "then" $+$ _x2Ipretty+ {-# LINE 2249 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 568 "src/GLua/AG/PrettyPrint.ag" #-}+ _x1IisMultiline || _x2IisMultiline+ {-# LINE 2254 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x2Oindent =+ ({-# LINE 569 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + 1+ {-# LINE 2259 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x2OstatRegion =+ ({-# LINE 570 "src/GLua/AG/PrettyPrint.ag" #-}+ emptyRg+ {-# LINE 2264 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1OparentOperatorPrecedence =+ ({-# LINE 571 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 2269 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1OparentOperatorAssociative =+ ({-# LINE 572 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 2274 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ (_x1Icopy,_x2Icopy)+ {-# LINE 2279 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2284 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _x2Icomments+ {-# LINE 2289 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1Ocomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2294 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1OforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 2299 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1Oindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 2304 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x1Oppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 2309 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x2Ocomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _x1Icomments+ {-# LINE 2314 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x2OforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 2319 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _x2Oppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 2324 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _x1Icomments,_x1Icopy,_x1IendsWithPrefixExpression,_x1IisAssociative,_x1IisLiteral,_x1IisMultiline,_x1Ipos,_x1Iprecedence,_x1Ipretty) =+ x1_ _x1Ocomments _x1OforceMultiline _x1Oindent _x1OparentOperatorAssociative _x1OparentOperatorPrecedence _x1Oppconf+ ( _x2Icomments,_x2Icopy,_x2IisMultiline,_x2Ipretty,_x2IstatementCount) =+ x2_ _x2Ocomments _x2OforceMultiline _x2Oindent _x2Oppconf _x2OstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))+-- ElseIfList --------------------------------------------------+-- cata+sem_ElseIfList :: ElseIfList ->+ T_ElseIfList+sem_ElseIfList list =+ (Prelude.foldr sem_ElseIfList_Cons sem_ElseIfList_Nil (Prelude.map sem_MElseIf list))+-- semantic domain+type T_ElseIfList = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),ElseIfList,Bool,Bool,Region,Doc)+data Inh_ElseIfList = Inh_ElseIfList {comments_Inh_ElseIfList :: ([MToken]),forceMultiline_Inh_ElseIfList :: Bool,indent_Inh_ElseIfList :: Int,ppconf_Inh_ElseIfList :: PrettyPrintConfig}+data Syn_ElseIfList = Syn_ElseIfList {comments_Syn_ElseIfList :: ([MToken]),copy_Syn_ElseIfList :: ElseIfList,elsesExist_Syn_ElseIfList :: Bool,isMultiline_Syn_ElseIfList :: Bool,pos_Syn_ElseIfList :: Region,pretty_Syn_ElseIfList :: Doc}+wrap_ElseIfList :: T_ElseIfList ->+ Inh_ElseIfList ->+ Syn_ElseIfList+wrap_ElseIfList sem (Inh_ElseIfList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_ElseIfList _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty))+sem_ElseIfList_Cons :: T_MElseIf ->+ T_ElseIfList ->+ T_ElseIfList+sem_ElseIfList_Cons hd_ tl_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOelsesExist :: Bool+ _lhsOpos :: Region+ _lhsOisMultiline :: Bool+ _lhsOcopy :: ElseIfList+ _lhsOcomments :: ([MToken])+ _hdOcomments :: ([MToken])+ _hdOforceMultiline :: Bool+ _hdOindent :: Int+ _hdOppconf :: PrettyPrintConfig+ _tlOcomments :: ([MToken])+ _tlOforceMultiline :: Bool+ _tlOindent :: Int+ _tlOppconf :: PrettyPrintConfig+ _hdIcomments :: ([MToken])+ _hdIcopy :: MElseIf+ _hdIisMultiline :: Bool+ _hdIpos :: Region+ _hdIpretty :: Doc+ _tlIcomments :: ([MToken])+ _tlIcopy :: ElseIfList+ _tlIelsesExist :: Bool+ _tlIisMultiline :: Bool+ _tlIpos :: Region+ _tlIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 581 "src/GLua/AG/PrettyPrint.ag" #-}+ indent _lhsIppconf _lhsIindent _hdIpretty $+$ _tlIpretty+ {-# LINE 2387 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOelsesExist =+ ({-# LINE 582 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 2392 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 583 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIpos+ {-# LINE 2397 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 584 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIisMultiline || _tlIisMultiline+ {-# LINE 2402 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 2407 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2412 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _tlIcomments+ {-# LINE 2417 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2422 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 2427 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 2432 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 2437 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIcomments+ {-# LINE 2442 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 2447 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 2452 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 2457 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _hdIcomments,_hdIcopy,_hdIisMultiline,_hdIpos,_hdIpretty) =+ hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf+ ( _tlIcomments,_tlIcopy,_tlIelsesExist,_tlIisMultiline,_tlIpos,_tlIpretty) =+ tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))+sem_ElseIfList_Nil :: T_ElseIfList+sem_ElseIfList_Nil =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOpos :: Region+ _lhsOisMultiline :: Bool+ _lhsOelsesExist :: Bool+ _lhsOcopy :: ElseIfList+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 586 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 2479 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 587 "src/GLua/AG/PrettyPrint.ag" #-}+ emptyRg+ {-# LINE 2484 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 588 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2489 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOelsesExist =+ ({-# LINE 327 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2494 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ []+ {-# LINE 2499 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2504 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2509 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))+-- Expr --------------------------------------------------------+-- cata+sem_Expr :: Expr ->+ T_Expr+sem_Expr (ANil) =+ (sem_Expr_ANil)+sem_Expr (AFalse) =+ (sem_Expr_AFalse)+sem_Expr (ATrue) =+ (sem_Expr_ATrue)+sem_Expr (ANumber _num) =+ (sem_Expr_ANumber _num)+sem_Expr (AString _str) =+ (sem_Expr_AString _str)+sem_Expr (AVarArg) =+ (sem_Expr_AVarArg)+sem_Expr (AnonymousFunc _pars _body) =+ (sem_Expr_AnonymousFunc _pars (sem_Block _body))+sem_Expr (APrefixExpr _pexpr) =+ (sem_Expr_APrefixExpr (sem_PrefixExp _pexpr))+sem_Expr (ATableConstructor _fields) =+ (sem_Expr_ATableConstructor (sem_FieldList _fields))+sem_Expr (BinOpExpr _op _left _right) =+ (sem_Expr_BinOpExpr (sem_BinOp _op) (sem_MExpr _left) (sem_MExpr _right))+sem_Expr (UnOpExpr _op _right) =+ (sem_Expr_UnOpExpr (sem_UnOp _op) (sem_MExpr _right))+-- semantic domain+type T_Expr = ([MToken]) ->+ Bool ->+ Int ->+ Bool ->+ OperatorLevel ->+ PrettyPrintConfig ->+ Region ->+ ( ([MToken]),Expr,Bool,Bool,Bool,Bool,OperatorLevel,Doc)+data Inh_Expr = Inh_Expr {comments_Inh_Expr :: ([MToken]),forceMultiline_Inh_Expr :: Bool,indent_Inh_Expr :: Int,parentOperatorAssociative_Inh_Expr :: Bool,parentOperatorPrecedence_Inh_Expr :: OperatorLevel,ppconf_Inh_Expr :: PrettyPrintConfig,statRegion_Inh_Expr :: Region}+data Syn_Expr = Syn_Expr {comments_Syn_Expr :: ([MToken]),copy_Syn_Expr :: Expr,endsWithPrefixExpression_Syn_Expr :: Bool,isAssociative_Syn_Expr :: Bool,isLiteral_Syn_Expr :: Bool,isMultiline_Syn_Expr :: Bool,precedence_Syn_Expr :: OperatorLevel,pretty_Syn_Expr :: Doc}+wrap_Expr :: T_Expr ->+ Inh_Expr ->+ Syn_Expr+wrap_Expr sem (Inh_Expr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf _lhsIstatRegion) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf _lhsIstatRegion+ in (Syn_Expr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOprecedence _lhsOpretty))+sem_Expr_ANil :: T_Expr+sem_Expr_ANil =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOisLiteral :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 979 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "nil"+ {-# LINE 2575 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 980 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 2580 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 981 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2585 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 982 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2590 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2595 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 2600 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ANil+ {-# LINE 2605 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2610 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2615 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_Expr_AFalse :: T_Expr+sem_Expr_AFalse =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOisLiteral :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 984 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "false"+ {-# LINE 2638 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 985 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 2643 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 986 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2648 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 987 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2653 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2658 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 2663 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AFalse+ {-# LINE 2668 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2673 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2678 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_Expr_ATrue :: T_Expr+sem_Expr_ATrue =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOisLiteral :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 989 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "true"+ {-# LINE 2701 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 990 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 2706 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 991 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2711 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 992 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2716 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2721 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 2726 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ATrue+ {-# LINE 2731 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2736 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2741 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_Expr_ANumber :: String ->+ T_Expr+sem_Expr_ANumber num_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOisLiteral :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 994 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText num_+ {-# LINE 2765 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 995 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 2770 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 996 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2775 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 997 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2780 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2785 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 2790 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ANumber num_+ {-# LINE 2795 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2800 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2805 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_Expr_AString :: MToken ->+ T_Expr+sem_Expr_AString str_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOisLiteral :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 999 "src/GLua/AG/PrettyPrint.ag" #-}+ tok str_+ {-# LINE 2829 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 1000 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 2834 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 1001 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2839 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1002 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2844 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2849 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 2854 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AString str_+ {-# LINE 2859 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2864 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2869 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_Expr_AVarArg :: T_Expr+sem_Expr_AVarArg =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOisLiteral :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1004 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "..."+ {-# LINE 2892 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 1005 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 2897 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 1006 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2902 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1007 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2907 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2912 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 2917 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AVarArg+ {-# LINE 2922 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 2927 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 2932 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_Expr_AnonymousFunc :: ([MToken]) ->+ T_Block ->+ T_Expr+sem_Expr_AnonymousFunc pars_ body_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOendsWithPrefixExpression :: Bool+ _bodyOindent :: Int+ _lhsOpretty :: Doc+ _lhsOisAssociative :: Bool+ _lhsOisLiteral :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _lhsOisMultiline :: Bool+ _bodyOcomments :: ([MToken])+ _bodyOforceMultiline :: Bool+ _bodyOppconf :: PrettyPrintConfig+ _bodyOstatRegion :: Region+ _bodyIcomments :: ([MToken])+ _bodyIcopy :: Block+ _bodyIisMultiline :: Bool+ _bodyIpretty :: Doc+ _bodyIstatementCount :: Int+ _isMultiline =+ ({-# LINE 1009 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline || _bodyIisMultiline+ {-# LINE 2967 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 1010 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 2972 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _singleLinePretty =+ ({-# LINE 1011 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "function"+ <> parens _lhsIppconf _emptyParams (printList tok (render _comma ) pars_)+ <-> _bodyIpretty+ <-> zeroWidthText "end"+ {-# LINE 2980 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _multilinePretty =+ ({-# LINE 1016 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "function"+ <> parens _lhsIppconf _emptyParams (printList tok (render _comma ) pars_)+ $+$ _bodyIpretty+ $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")+ {-# LINE 2988 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _comma =+ ({-# LINE 1021 "src/GLua/AG/PrettyPrint.ag" #-}+ (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)+ <> zchr ','+ <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)+ {-# LINE 2995 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _emptyParams =+ ({-# LINE 1025 "src/GLua/AG/PrettyPrint.ag" #-}+ toEmpty $ null pars_+ {-# LINE 3000 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOindent =+ ({-# LINE 1026 "src/GLua/AG/PrettyPrint.ag" #-}+ if _isMultiline then _lhsIindent + 1 else 0+ {-# LINE 3005 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 1027 "src/GLua/AG/PrettyPrint.ag" #-}+ if _isMultiline then _multilinePretty else _singleLinePretty+ {-# LINE 3010 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 3015 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 278 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 3020 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 3025 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AnonymousFunc pars_ _bodyIcopy+ {-# LINE 3030 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 3035 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIcomments+ {-# LINE 3040 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}+ _isMultiline+ {-# LINE 3045 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 3050 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 3055 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3060 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 3065 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _bodyIcomments,_bodyIcopy,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =+ body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_Expr_APrefixExpr :: T_PrefixExp ->+ T_Expr+sem_Expr_APrefixExpr pexpr_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOisLiteral :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _pexprOcomments :: ([MToken])+ _pexprOforceMultiline :: Bool+ _pexprOindent :: Int+ _pexprOparentOperatorAssociative :: Bool+ _pexprOparentOperatorPrecedence :: OperatorLevel+ _pexprOppconf :: PrettyPrintConfig+ _pexprIcomments :: ([MToken])+ _pexprIcopy :: PrefixExp+ _pexprIisAssociative :: Bool+ _pexprIisLiteral :: Bool+ _pexprIisMultiline :: Bool+ _pexprIprecedence :: OperatorLevel+ _pexprIpretty :: Doc+ _pexprIstartsWithExprPrefixExpression :: Bool+ _lhsOpretty =+ ({-# LINE 1029 "src/GLua/AG/PrettyPrint.ag" #-}+ _pexprIpretty+ {-# LINE 3105 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 1030 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 3110 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1031 "src/GLua/AG/PrettyPrint.ag" #-}+ _pexprIisMultiline+ {-# LINE 3115 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ _pexprIisAssociative+ {-# LINE 3120 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 278 "src/GLua/AG/PrettyPrint.ag" #-}+ _pexprIisLiteral+ {-# LINE 3125 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ _pexprIprecedence+ {-# LINE 3130 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ APrefixExpr _pexprIcopy+ {-# LINE 3135 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 3140 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _pexprIcomments+ {-# LINE 3145 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _pexprOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 3150 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _pexprOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 3155 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _pexprOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3160 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _pexprOparentOperatorAssociative =+ ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIparentOperatorAssociative+ {-# LINE 3165 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _pexprOparentOperatorPrecedence =+ ({-# LINE 274 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIparentOperatorPrecedence+ {-# LINE 3170 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _pexprOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3175 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _pexprIcomments,_pexprIcopy,_pexprIisAssociative,_pexprIisLiteral,_pexprIisMultiline,_pexprIprecedence,_pexprIpretty,_pexprIstartsWithExprPrefixExpression) =+ pexpr_ _pexprOcomments _pexprOforceMultiline _pexprOindent _pexprOparentOperatorAssociative _pexprOparentOperatorPrecedence _pexprOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_Expr_ATableConstructor :: T_FieldList ->+ T_Expr+sem_Expr_ATableConstructor fields_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOisLiteral :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _fieldsOindent :: Int+ _fieldsOsomeElementsInListAreMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _lhsOisMultiline :: Bool+ _fieldsOcomments :: ([MToken])+ _fieldsOforceMultiline :: Bool+ _fieldsOppconf :: PrettyPrintConfig+ _fieldsIcomments :: ([MToken])+ _fieldsIcopy :: FieldList+ _fieldsIisMultiline :: Bool+ _fieldsIisNil :: Bool+ _fieldsIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 1033 "src/GLua/AG/PrettyPrint.ag" #-}+ if _isMultiline then _prettyMulti else _prettySingle+ {-# LINE 3211 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _isMultiline =+ ({-# LINE 1034 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline || _fieldsIisMultiline+ {-# LINE 3216 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 1035 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 3221 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 1036 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 3226 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _prettyMulti =+ ({-# LINE 1037 "src/GLua/AG/PrettyPrint.ag" #-}+ zchr '{' $+$ _fieldsIpretty $+$ indent _lhsIppconf _lhsIindent (zchr '}')+ {-# LINE 3231 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _prettySingle =+ ({-# LINE 1038 "src/GLua/AG/PrettyPrint.ag" #-}+ braces _lhsIppconf _emptyContents _fieldsIpretty+ {-# LINE 3236 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _emptyContents =+ ({-# LINE 1039 "src/GLua/AG/PrettyPrint.ag" #-}+ toEmpty $ null _fieldsIcopy+ {-# LINE 3241 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fieldsOindent =+ ({-# LINE 1040 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + (if _fieldsIisMultiline then 1 else 0)+ {-# LINE 3246 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fieldsOsomeElementsInListAreMultiline =+ ({-# LINE 1041 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 3251 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 3256 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 3261 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ATableConstructor _fieldsIcopy+ {-# LINE 3266 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 3271 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _fieldsIcomments+ {-# LINE 3276 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}+ _isMultiline+ {-# LINE 3281 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fieldsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 3286 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fieldsOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 3291 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fieldsOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3296 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _fieldsIcomments,_fieldsIcopy,_fieldsIisMultiline,_fieldsIisNil,_fieldsIpretty) =+ fields_ _fieldsOcomments _fieldsOforceMultiline _fieldsOindent _fieldsOppconf _fieldsOsomeElementsInListAreMultiline+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_Expr_BinOpExpr :: T_BinOp ->+ T_MExpr ->+ T_MExpr ->+ T_Expr+sem_Expr_BinOpExpr op_ left_ right_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOisMultiline :: Bool+ _leftOparentOperatorPrecedence :: OperatorLevel+ _rightOparentOperatorPrecedence :: OperatorLevel+ _leftOparentOperatorAssociative :: Bool+ _rightOparentOperatorAssociative :: Bool+ _lhsOisAssociative :: Bool+ _lhsOisLiteral :: Bool+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _opOcomments :: ([MToken])+ _opOindent :: Int+ _opOppconf :: PrettyPrintConfig+ _leftOcomments :: ([MToken])+ _leftOforceMultiline :: Bool+ _leftOindent :: Int+ _leftOppconf :: PrettyPrintConfig+ _rightOcomments :: ([MToken])+ _rightOforceMultiline :: Bool+ _rightOindent :: Int+ _rightOppconf :: PrettyPrintConfig+ _opIcomments :: ([MToken])+ _opIcopy :: BinOp+ _opIisAssociative :: Bool+ _opIisMultiline :: Bool+ _opIprecedence :: OperatorLevel+ _opIpretty :: Doc+ _leftIcomments :: ([MToken])+ _leftIcopy :: MExpr+ _leftIendsWithPrefixExpression :: Bool+ _leftIisAssociative :: Bool+ _leftIisLiteral :: Bool+ _leftIisMultiline :: Bool+ _leftIpos :: Region+ _leftIprecedence :: OperatorLevel+ _leftIpretty :: Doc+ _rightIcomments :: ([MToken])+ _rightIcopy :: MExpr+ _rightIendsWithPrefixExpression :: Bool+ _rightIisAssociative :: Bool+ _rightIisLiteral :: Bool+ _rightIisMultiline :: Bool+ _rightIpos :: Region+ _rightIprecedence :: OperatorLevel+ _rightIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 1043 "src/GLua/AG/PrettyPrint.ag" #-}+ _leftIpretty <-> _opIpretty <-> _rightIpretty+ {-# LINE 3363 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 1044 "src/GLua/AG/PrettyPrint.ag" #-}+ _rightIendsWithPrefixExpression+ {-# LINE 3368 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1047 "src/GLua/AG/PrettyPrint.ag" #-}+ min _opIprecedence $ min _leftIprecedence _rightIprecedence+ {-# LINE 3373 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1048 "src/GLua/AG/PrettyPrint.ag" #-}+ _leftIisMultiline || _rightIisMultiline+ {-# LINE 3378 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _leftOparentOperatorPrecedence =+ ({-# LINE 1049 "src/GLua/AG/PrettyPrint.ag" #-}+ _opIprecedence+ {-# LINE 3383 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOparentOperatorPrecedence =+ ({-# LINE 1050 "src/GLua/AG/PrettyPrint.ag" #-}+ _opIprecedence+ {-# LINE 3388 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _leftOparentOperatorAssociative =+ ({-# LINE 1051 "src/GLua/AG/PrettyPrint.ag" #-}+ _opIisAssociative+ {-# LINE 3393 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOparentOperatorAssociative =+ ({-# LINE 1052 "src/GLua/AG/PrettyPrint.ag" #-}+ _opIisAssociative+ {-# LINE 3398 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ _opIisAssociative && _leftIisAssociative && _rightIisAssociative+ {-# LINE 3403 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 278 "src/GLua/AG/PrettyPrint.ag" #-}+ ((\_ _ -> False) _leftIisLiteral _rightIisLiteral)+ {-# LINE 3408 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ BinOpExpr _opIcopy _leftIcopy _rightIcopy+ {-# LINE 3413 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 3418 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _rightIcomments+ {-# LINE 3423 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _opOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 3428 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _opOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3433 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _opOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3438 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _leftOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _opIcomments+ {-# LINE 3443 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _leftOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 3448 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _leftOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3453 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _leftOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3458 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _leftIcomments+ {-# LINE 3463 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 3468 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3473 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3478 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _opIcomments,_opIcopy,_opIisAssociative,_opIisMultiline,_opIprecedence,_opIpretty) =+ op_ _opOcomments _opOindent _opOppconf+ ( _leftIcomments,_leftIcopy,_leftIendsWithPrefixExpression,_leftIisAssociative,_leftIisLiteral,_leftIisMultiline,_leftIpos,_leftIprecedence,_leftIpretty) =+ left_ _leftOcomments _leftOforceMultiline _leftOindent _leftOparentOperatorAssociative _leftOparentOperatorPrecedence _leftOppconf+ ( _rightIcomments,_rightIcopy,_rightIendsWithPrefixExpression,_rightIisAssociative,_rightIisLiteral,_rightIisMultiline,_rightIpos,_rightIprecedence,_rightIpretty) =+ right_ _rightOcomments _rightOforceMultiline _rightOindent _rightOparentOperatorAssociative _rightOparentOperatorPrecedence _rightOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_Expr_UnOpExpr :: T_UnOp ->+ T_MExpr ->+ T_Expr+sem_Expr_UnOpExpr op_ right_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOprecedence :: OperatorLevel+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _rightOparentOperatorPrecedence :: OperatorLevel+ _lhsOisAssociative :: Bool+ _lhsOisLiteral :: Bool+ _lhsOcopy :: Expr+ _lhsOcomments :: ([MToken])+ _opOcomments :: ([MToken])+ _opOindent :: Int+ _opOppconf :: PrettyPrintConfig+ _rightOcomments :: ([MToken])+ _rightOforceMultiline :: Bool+ _rightOindent :: Int+ _rightOparentOperatorAssociative :: Bool+ _rightOppconf :: PrettyPrintConfig+ _opIcomments :: ([MToken])+ _opIcopy :: UnOp+ _opIisMultiline :: Bool+ _opIpretty :: Doc+ _rightIcomments :: ([MToken])+ _rightIcopy :: MExpr+ _rightIendsWithPrefixExpression :: Bool+ _rightIisAssociative :: Bool+ _rightIisLiteral :: Bool+ _rightIisMultiline :: Bool+ _rightIpos :: Region+ _rightIprecedence :: OperatorLevel+ _rightIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 1054 "src/GLua/AG/PrettyPrint.ag" #-}+ _opIpretty <> _rightIpretty+ {-# LINE 3531 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 1055 "src/GLua/AG/PrettyPrint.ag" #-}+ min _rightIprecedence OperatorLevel7+ {-# LINE 3536 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 1056 "src/GLua/AG/PrettyPrint.ag" #-}+ _rightIendsWithPrefixExpression+ {-# LINE 3541 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1057 "src/GLua/AG/PrettyPrint.ag" #-}+ _opIisMultiline || _rightIisMultiline+ {-# LINE 3546 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOparentOperatorPrecedence =+ ({-# LINE 1058 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel7+ {-# LINE 3551 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ _rightIisAssociative+ {-# LINE 3556 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 278 "src/GLua/AG/PrettyPrint.ag" #-}+ _rightIisLiteral+ {-# LINE 3561 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ UnOpExpr _opIcopy _rightIcopy+ {-# LINE 3566 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 3571 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _rightIcomments+ {-# LINE 3576 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _opOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 3581 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _opOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3586 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _opOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3591 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _opIcomments+ {-# LINE 3596 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 3601 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3606 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOparentOperatorAssociative =+ ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIparentOperatorAssociative+ {-# LINE 3611 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _rightOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3616 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _opIcomments,_opIcopy,_opIisMultiline,_opIpretty) =+ op_ _opOcomments _opOindent _opOppconf+ ( _rightIcomments,_rightIcopy,_rightIendsWithPrefixExpression,_rightIisAssociative,_rightIisLiteral,_rightIisMultiline,_rightIpos,_rightIprecedence,_rightIpretty) =+ right_ _rightOcomments _rightOforceMultiline _rightOindent _rightOparentOperatorAssociative _rightOparentOperatorPrecedence _rightOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+-- ExprSuffixList ----------------------------------------------+-- cata+sem_ExprSuffixList :: ExprSuffixList ->+ T_ExprSuffixList+sem_ExprSuffixList list =+ (Prelude.foldr sem_ExprSuffixList_Cons sem_ExprSuffixList_Nil (Prelude.map sem_PFExprSuffix list))+-- semantic domain+type T_ExprSuffixList = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),ExprSuffixList,Bool,Bool,OperatorLevel,Doc)+data Inh_ExprSuffixList = Inh_ExprSuffixList {comments_Inh_ExprSuffixList :: ([MToken]),forceMultiline_Inh_ExprSuffixList :: Bool,indent_Inh_ExprSuffixList :: Int,ppconf_Inh_ExprSuffixList :: PrettyPrintConfig}+data Syn_ExprSuffixList = Syn_ExprSuffixList {comments_Syn_ExprSuffixList :: ([MToken]),copy_Syn_ExprSuffixList :: ExprSuffixList,isAssociative_Syn_ExprSuffixList :: Bool,isMultiline_Syn_ExprSuffixList :: Bool,precedence_Syn_ExprSuffixList :: OperatorLevel,pretty_Syn_ExprSuffixList :: Doc}+wrap_ExprSuffixList :: T_ExprSuffixList ->+ Inh_ExprSuffixList ->+ Syn_ExprSuffixList+wrap_ExprSuffixList sem (Inh_ExprSuffixList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_ExprSuffixList _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty))+sem_ExprSuffixList_Cons :: T_PFExprSuffix ->+ T_ExprSuffixList ->+ T_ExprSuffixList+sem_ExprSuffixList_Cons hd_ tl_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: ExprSuffixList+ _lhsOcomments :: ([MToken])+ _hdOcomments :: ([MToken])+ _hdOforceMultiline :: Bool+ _hdOindent :: Int+ _hdOppconf :: PrettyPrintConfig+ _tlOcomments :: ([MToken])+ _tlOforceMultiline :: Bool+ _tlOindent :: Int+ _tlOppconf :: PrettyPrintConfig+ _hdIcomments :: ([MToken])+ _hdIcopy :: PFExprSuffix+ _hdIisAssociative :: Bool+ _hdIisMultiline :: Bool+ _hdIprecedence :: OperatorLevel+ _hdIpretty :: Doc+ _tlIcomments :: ([MToken])+ _tlIcopy :: ExprSuffixList+ _tlIisAssociative :: Bool+ _tlIisMultiline :: Bool+ _tlIprecedence :: OperatorLevel+ _tlIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 614 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIpretty <> _tlIpretty+ {-# LINE 3680 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 615 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIisMultiline || _tlIisMultiline+ {-# LINE 3685 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIisAssociative && _tlIisAssociative+ {-# LINE 3690 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ (min _hdIprecedence _tlIprecedence)+ {-# LINE 3695 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 3700 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 3705 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _tlIcomments+ {-# LINE 3710 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 3715 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 3720 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3725 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3730 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIcomments+ {-# LINE 3735 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 3740 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3745 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3750 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _hdIcomments,_hdIcopy,_hdIisAssociative,_hdIisMultiline,_hdIprecedence,_hdIpretty) =+ hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf+ ( _tlIcomments,_tlIcopy,_tlIisAssociative,_tlIisMultiline,_tlIprecedence,_tlIpretty) =+ tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_ExprSuffixList_Nil :: T_ExprSuffixList+sem_ExprSuffixList_Nil =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: ExprSuffixList+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 617 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 3772 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 618 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 3777 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 3782 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 3787 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ []+ {-# LINE 3792 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 3797 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 3802 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+-- Field -------------------------------------------------------+-- cata+sem_Field :: Field ->+ T_Field+sem_Field (ExprField _key _value _sep) =+ (sem_Field_ExprField (sem_MExpr _key) (sem_MExpr _value) (sem_FieldSep _sep))+sem_Field (NamedField _key _value _sep) =+ (sem_Field_NamedField _key (sem_MExpr _value) (sem_FieldSep _sep))+sem_Field (UnnamedField _value _sep) =+ (sem_Field_UnnamedField (sem_MExpr _value) (sem_FieldSep _sep))+-- semantic domain+type T_Field = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),Field,Bool,Bool,Region,Doc)+data Inh_Field = Inh_Field {comments_Inh_Field :: ([MToken]),forceMultiline_Inh_Field :: Bool,indent_Inh_Field :: Int,ppconf_Inh_Field :: PrettyPrintConfig}+data Syn_Field = Syn_Field {comments_Syn_Field :: ([MToken]),copy_Syn_Field :: Field,isMultiline_Syn_Field :: Bool,isSemiColon_Syn_Field :: Bool,pos_Syn_Field :: Region,pretty_Syn_Field :: Doc}+wrap_Field :: T_Field ->+ Inh_Field ->+ Syn_Field+wrap_Field sem (Inh_Field _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_Field _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOisSemiColon _lhsOpos _lhsOpretty))+sem_Field_ExprField :: T_MExpr ->+ T_MExpr ->+ T_FieldSep ->+ T_Field+sem_Field_ExprField key_ value_ sep_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _keyOparentOperatorPrecedence :: OperatorLevel+ _keyOparentOperatorAssociative :: Bool+ _valueOparentOperatorPrecedence :: OperatorLevel+ _valueOparentOperatorAssociative :: Bool+ _lhsOisSemiColon :: Bool+ _lhsOcopy :: Field+ _lhsOcomments :: ([MToken])+ _lhsOpos :: Region+ _keyOcomments :: ([MToken])+ _keyOforceMultiline :: Bool+ _keyOindent :: Int+ _keyOppconf :: PrettyPrintConfig+ _valueOcomments :: ([MToken])+ _valueOforceMultiline :: Bool+ _valueOindent :: Int+ _valueOppconf :: PrettyPrintConfig+ _sepOindent :: Int+ _sepOppconf :: PrettyPrintConfig+ _keyIcomments :: ([MToken])+ _keyIcopy :: MExpr+ _keyIendsWithPrefixExpression :: Bool+ _keyIisAssociative :: Bool+ _keyIisLiteral :: Bool+ _keyIisMultiline :: Bool+ _keyIpos :: Region+ _keyIprecedence :: OperatorLevel+ _keyIpretty :: Doc+ _valueIcomments :: ([MToken])+ _valueIcopy :: MExpr+ _valueIendsWithPrefixExpression :: Bool+ _valueIisAssociative :: Bool+ _valueIisLiteral :: Bool+ _valueIisMultiline :: Bool+ _valueIpos :: Region+ _valueIprecedence :: OperatorLevel+ _valueIpretty :: Doc+ _sepIcopy :: FieldSep+ _sepIisMultiline :: Bool+ _sepIisSemiColon :: Bool+ _sepIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 1087 "src/GLua/AG/PrettyPrint.ag" #-}+ brackets _lhsIppconf _keyIpretty <-> zchr '=' <-> _valueIpretty <> _sepIpretty+ {-# LINE 3883 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1088 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 3888 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _keyOparentOperatorPrecedence =+ ({-# LINE 1089 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 3893 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _keyOparentOperatorAssociative =+ ({-# LINE 1090 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 3898 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOparentOperatorPrecedence =+ ({-# LINE 1091 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 3903 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOparentOperatorAssociative =+ ({-# LINE 1092 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 3908 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisSemiColon =+ ({-# LINE 321 "src/GLua/AG/PrettyPrint.ag" #-}+ _sepIisSemiColon+ {-# LINE 3913 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ExprField _keyIcopy _valueIcopy _sepIcopy+ {-# LINE 3918 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 3923 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _valueIcomments+ {-# LINE 3928 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 310 "src/GLua/AG/PrettyPrint.ag" #-}+ _valueIpos+ {-# LINE 3933 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _keyOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 3938 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _keyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 3943 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _keyOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3948 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _keyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3953 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _keyIcomments+ {-# LINE 3958 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 3963 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3968 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3973 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _sepOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 3978 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _sepOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 3983 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _keyIcomments,_keyIcopy,_keyIendsWithPrefixExpression,_keyIisAssociative,_keyIisLiteral,_keyIisMultiline,_keyIpos,_keyIprecedence,_keyIpretty) =+ key_ _keyOcomments _keyOforceMultiline _keyOindent _keyOparentOperatorAssociative _keyOparentOperatorPrecedence _keyOppconf+ ( _valueIcomments,_valueIcopy,_valueIendsWithPrefixExpression,_valueIisAssociative,_valueIisLiteral,_valueIisMultiline,_valueIpos,_valueIprecedence,_valueIpretty) =+ value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf+ ( _sepIcopy,_sepIisMultiline,_sepIisSemiColon,_sepIpretty) =+ sep_ _sepOindent _sepOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpos,_lhsOpretty)))+sem_Field_NamedField :: MToken ->+ T_MExpr ->+ T_FieldSep ->+ T_Field+sem_Field_NamedField key_ value_ sep_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _valueOparentOperatorPrecedence :: OperatorLevel+ _valueOparentOperatorAssociative :: Bool+ _lhsOisSemiColon :: Bool+ _lhsOcopy :: Field+ _lhsOcomments :: ([MToken])+ _lhsOpos :: Region+ _valueOcomments :: ([MToken])+ _valueOforceMultiline :: Bool+ _valueOindent :: Int+ _valueOppconf :: PrettyPrintConfig+ _sepOindent :: Int+ _sepOppconf :: PrettyPrintConfig+ _valueIcomments :: ([MToken])+ _valueIcopy :: MExpr+ _valueIendsWithPrefixExpression :: Bool+ _valueIisAssociative :: Bool+ _valueIisLiteral :: Bool+ _valueIisMultiline :: Bool+ _valueIpos :: Region+ _valueIprecedence :: OperatorLevel+ _valueIpretty :: Doc+ _sepIcopy :: FieldSep+ _sepIisMultiline :: Bool+ _sepIisSemiColon :: Bool+ _sepIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 1094 "src/GLua/AG/PrettyPrint.ag" #-}+ tok key_ <-> zchr '=' <-> _valueIpretty <> _sepIpretty+ {-# LINE 4031 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1095 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 4036 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOparentOperatorPrecedence =+ ({-# LINE 1096 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 4041 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOparentOperatorAssociative =+ ({-# LINE 1097 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 4046 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisSemiColon =+ ({-# LINE 321 "src/GLua/AG/PrettyPrint.ag" #-}+ _sepIisSemiColon+ {-# LINE 4051 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ NamedField key_ _valueIcopy _sepIcopy+ {-# LINE 4056 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4061 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _valueIcomments+ {-# LINE 4066 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 310 "src/GLua/AG/PrettyPrint.ag" #-}+ _valueIpos+ {-# LINE 4071 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 4076 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 4081 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 4086 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 4091 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _sepOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 4096 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _sepOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 4101 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _valueIcomments,_valueIcopy,_valueIendsWithPrefixExpression,_valueIisAssociative,_valueIisLiteral,_valueIisMultiline,_valueIpos,_valueIprecedence,_valueIpretty) =+ value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf+ ( _sepIcopy,_sepIisMultiline,_sepIisSemiColon,_sepIpretty) =+ sep_ _sepOindent _sepOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpos,_lhsOpretty)))+sem_Field_UnnamedField :: T_MExpr ->+ T_FieldSep ->+ T_Field+sem_Field_UnnamedField value_ sep_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _valueOparentOperatorPrecedence :: OperatorLevel+ _valueOparentOperatorAssociative :: Bool+ _lhsOisSemiColon :: Bool+ _lhsOcopy :: Field+ _lhsOcomments :: ([MToken])+ _lhsOpos :: Region+ _valueOcomments :: ([MToken])+ _valueOforceMultiline :: Bool+ _valueOindent :: Int+ _valueOppconf :: PrettyPrintConfig+ _sepOindent :: Int+ _sepOppconf :: PrettyPrintConfig+ _valueIcomments :: ([MToken])+ _valueIcopy :: MExpr+ _valueIendsWithPrefixExpression :: Bool+ _valueIisAssociative :: Bool+ _valueIisLiteral :: Bool+ _valueIisMultiline :: Bool+ _valueIpos :: Region+ _valueIprecedence :: OperatorLevel+ _valueIpretty :: Doc+ _sepIcopy :: FieldSep+ _sepIisMultiline :: Bool+ _sepIisSemiColon :: Bool+ _sepIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 1099 "src/GLua/AG/PrettyPrint.ag" #-}+ _valueIpretty <> _sepIpretty+ {-# LINE 4146 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1100 "src/GLua/AG/PrettyPrint.ag" #-}+ _valueIisMultiline || _sepIisMultiline+ {-# LINE 4151 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOparentOperatorPrecedence =+ ({-# LINE 1101 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 4156 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOparentOperatorAssociative =+ ({-# LINE 1102 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 4161 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisSemiColon =+ ({-# LINE 321 "src/GLua/AG/PrettyPrint.ag" #-}+ _sepIisSemiColon+ {-# LINE 4166 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ UnnamedField _valueIcopy _sepIcopy+ {-# LINE 4171 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4176 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _valueIcomments+ {-# LINE 4181 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 310 "src/GLua/AG/PrettyPrint.ag" #-}+ _valueIpos+ {-# LINE 4186 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 4191 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 4196 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 4201 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valueOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 4206 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _sepOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 4211 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _sepOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 4216 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _valueIcomments,_valueIcopy,_valueIendsWithPrefixExpression,_valueIisAssociative,_valueIisLiteral,_valueIisMultiline,_valueIpos,_valueIprecedence,_valueIpretty) =+ value_ _valueOcomments _valueOforceMultiline _valueOindent _valueOparentOperatorAssociative _valueOparentOperatorPrecedence _valueOppconf+ ( _sepIcopy,_sepIisMultiline,_sepIisSemiColon,_sepIpretty) =+ sep_ _sepOindent _sepOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpos,_lhsOpretty)))+-- FieldList ---------------------------------------------------+-- cata+sem_FieldList :: FieldList ->+ T_FieldList+sem_FieldList list =+ (Prelude.foldr sem_FieldList_Cons sem_FieldList_Nil (Prelude.map sem_Field list))+-- semantic domain+type T_FieldList = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ Bool ->+ ( ([MToken]),FieldList,Bool,Bool,Doc)+data Inh_FieldList = Inh_FieldList {comments_Inh_FieldList :: ([MToken]),forceMultiline_Inh_FieldList :: Bool,indent_Inh_FieldList :: Int,ppconf_Inh_FieldList :: PrettyPrintConfig,someElementsInListAreMultiline_Inh_FieldList :: Bool}+data Syn_FieldList = Syn_FieldList {comments_Syn_FieldList :: ([MToken]),copy_Syn_FieldList :: FieldList,isMultiline_Syn_FieldList :: Bool,isNil_Syn_FieldList :: Bool,pretty_Syn_FieldList :: Doc}+wrap_FieldList :: T_FieldList ->+ Inh_FieldList ->+ Syn_FieldList+wrap_FieldList sem (Inh_FieldList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisNil,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline+ in (Syn_FieldList _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOisNil _lhsOpretty))+sem_FieldList_Cons :: T_Field ->+ T_FieldList ->+ T_FieldList+sem_FieldList_Cons hd_ tl_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf+ _lhsIsomeElementsInListAreMultiline ->+ (let _lhsOpretty :: Doc+ _lhsOisNil :: Bool+ _tlOsomeElementsInListAreMultiline :: Bool+ _hdOcomments :: ([MToken])+ _tlOcomments :: ([MToken])+ _lhsOcomments :: ([MToken])+ _lhsOcopy :: FieldList+ _lhsOisMultiline :: Bool+ _hdOforceMultiline :: Bool+ _hdOindent :: Int+ _hdOppconf :: PrettyPrintConfig+ _tlOforceMultiline :: Bool+ _tlOindent :: Int+ _tlOppconf :: PrettyPrintConfig+ _hdIcomments :: ([MToken])+ _hdIcopy :: Field+ _hdIisMultiline :: Bool+ _hdIisSemiColon :: Bool+ _hdIpos :: Region+ _hdIpretty :: Doc+ _tlIcomments :: ([MToken])+ _tlIcopy :: FieldList+ _tlIisMultiline :: Bool+ _tlIisNil :: Bool+ _tlIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 468 "src/GLua/AG/PrettyPrint.ag" #-}+ if _isMultiline+ then renderMLComments _lhsIppconf _lhsIindent (fst _commentsBefore )+ $+$ indent _lhsIppconf _lhsIindent _hdIpretty+ <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter )+ $+$ _tlIpretty+ else _hdIpretty+ `_optionalSpaceAfterSep ` _tlIpretty+ {-# LINE 4287 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisNil =+ ({-# LINE 476 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 4292 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _optionalSpaceAfterSep =+ ({-# LINE 478 "src/GLua/AG/PrettyPrint.ag" #-}+ if spaceAfterComma _lhsIppconf then (<->) else (<>)+ {-# LINE 4297 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _isMultiline =+ ({-# LINE 480 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ || _hdIisMultiline+ || _tlIisMultiline+ || _lhsIsomeElementsInListAreMultiline+ || not (null $ fst _commentsBefore )+ || not (null $ fst _commentsAfter )+ {-# LINE 4307 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOsomeElementsInListAreMultiline =+ ({-# LINE 488 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIsomeElementsInListAreMultiline+ || _hdIisMultiline+ || not (null $ fst _commentsBefore )+ || not (null $ fst _commentsAfter )+ {-# LINE 4315 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsBefore =+ ({-# LINE 494 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `before` _hdIpos) _lhsIcomments+ {-# LINE 4320 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOcomments =+ ({-# LINE 495 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsBefore+ {-# LINE 4325 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfter =+ ({-# LINE 496 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `beforeOrOnLine` _hdIpos) _hdIcomments+ {-# LINE 4330 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOcomments =+ ({-# LINE 498 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfter+ {-# LINE 4335 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 499 "src/GLua/AG/PrettyPrint.ag" #-}+ _tlIcomments+ {-# LINE 4340 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 4345 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4350 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}+ _isMultiline+ {-# LINE 4355 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 4360 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 4365 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 4370 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 4375 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 4380 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 4385 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _hdIcomments,_hdIcopy,_hdIisMultiline,_hdIisSemiColon,_hdIpos,_hdIpretty) =+ hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf+ ( _tlIcomments,_tlIcopy,_tlIisMultiline,_tlIisNil,_tlIpretty) =+ tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf _tlOsomeElementsInListAreMultiline+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisNil,_lhsOpretty)))+sem_FieldList_Nil :: T_FieldList+sem_FieldList_Nil =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf+ _lhsIsomeElementsInListAreMultiline ->+ (let _lhsOpretty :: Doc+ _lhsOisNil :: Bool+ _lhsOisMultiline :: Bool+ _lhsOcopy :: FieldList+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 502 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 4407 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisNil =+ ({-# LINE 503 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 4412 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 504 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 4417 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ []+ {-# LINE 4422 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4427 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 4432 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOisNil,_lhsOpretty)))+-- FieldSep ----------------------------------------------------+-- cata+sem_FieldSep :: FieldSep ->+ T_FieldSep+sem_FieldSep (CommaSep) =+ (sem_FieldSep_CommaSep)+sem_FieldSep (SemicolonSep) =+ (sem_FieldSep_SemicolonSep)+sem_FieldSep (NoSep) =+ (sem_FieldSep_NoSep)+-- semantic domain+type T_FieldSep = Int ->+ PrettyPrintConfig ->+ ( FieldSep,Bool,Bool,Doc)+data Inh_FieldSep = Inh_FieldSep {indent_Inh_FieldSep :: Int,ppconf_Inh_FieldSep :: PrettyPrintConfig}+data Syn_FieldSep = Syn_FieldSep {copy_Syn_FieldSep :: FieldSep,isMultiline_Syn_FieldSep :: Bool,isSemiColon_Syn_FieldSep :: Bool,pretty_Syn_FieldSep :: Doc}+wrap_FieldSep :: T_FieldSep ->+ Inh_FieldSep ->+ Syn_FieldSep+wrap_FieldSep sem (Inh_FieldSep _lhsIindent _lhsIppconf) =+ (let ( _lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpretty) = sem _lhsIindent _lhsIppconf+ in (Syn_FieldSep _lhsOcopy _lhsOisMultiline _lhsOisSemiColon _lhsOpretty))+sem_FieldSep_CommaSep :: T_FieldSep+sem_FieldSep_CommaSep =+ (\ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOisSemiColon :: Bool+ _lhsOcopy :: FieldSep+ _lhsOpretty =+ ({-# LINE 1106 "src/GLua/AG/PrettyPrint.ag" #-}+ (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ','+ {-# LINE 4468 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1107 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 4473 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisSemiColon =+ ({-# LINE 321 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 4478 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ CommaSep+ {-# LINE 4483 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4488 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpretty)))+sem_FieldSep_SemicolonSep :: T_FieldSep+sem_FieldSep_SemicolonSep =+ (\ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisSemiColon :: Bool+ _lhsOisMultiline :: Bool+ _lhsOcopy :: FieldSep+ _lhsOpretty =+ ({-# LINE 1109 "src/GLua/AG/PrettyPrint.ag" #-}+ (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty) <> zchr ';'+ {-# LINE 4502 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisSemiColon =+ ({-# LINE 1110 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 4507 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1113 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 4512 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ SemicolonSep+ {-# LINE 4517 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4522 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpretty)))+sem_FieldSep_NoSep :: T_FieldSep+sem_FieldSep_NoSep =+ (\ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOisSemiColon :: Bool+ _lhsOcopy :: FieldSep+ _lhsOpretty =+ ({-# LINE 1115 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 4536 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1116 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 4541 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisSemiColon =+ ({-# LINE 321 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 4546 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ NoSep+ {-# LINE 4551 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4556 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcopy,_lhsOisMultiline,_lhsOisSemiColon,_lhsOpretty)))+-- FuncName ----------------------------------------------------+-- cata+sem_FuncName :: FuncName ->+ T_FuncName+sem_FuncName (FuncName _names _meta) =+ (sem_FuncName_FuncName _names _meta)+-- semantic domain+type T_FuncName = ([MToken]) ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),FuncName,Bool,Region,Doc)+data Inh_FuncName = Inh_FuncName {comments_Inh_FuncName :: ([MToken]),indent_Inh_FuncName :: Int,ppconf_Inh_FuncName :: PrettyPrintConfig}+data Syn_FuncName = Syn_FuncName {comments_Syn_FuncName :: ([MToken]),copy_Syn_FuncName :: FuncName,isMultiline_Syn_FuncName :: Bool,pos_Syn_FuncName :: Region,pretty_Syn_FuncName :: Doc}+wrap_FuncName :: T_FuncName ->+ Inh_FuncName ->+ Syn_FuncName+wrap_FuncName sem (Inh_FuncName _lhsIcomments _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf+ in (Syn_FuncName _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpos _lhsOpretty))+sem_FuncName_FuncName :: ([MToken]) ->+ (Maybe MToken) ->+ T_FuncName+sem_FuncName_FuncName names_ meta_ =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOpos :: Region+ _lhsOcopy :: FuncName+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 893 "src/GLua/AG/PrettyPrint.ag" #-}+ printList tok "." names_ <> metaDoc meta_+ {-# LINE 4593 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 894 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 4598 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 895 "src/GLua/AG/PrettyPrint.ag" #-}+ case meta_ of+ Nothing -> _namesPos+ Just name -> rgOr _namesPos (mpos name)+ {-# LINE 4605 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _namesPos =+ ({-# LINE 899 "src/GLua/AG/PrettyPrint.ag" #-}+ foldl1 rgOr $ map mpos names_+ {-# LINE 4610 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ FuncName names_ meta_+ {-# LINE 4615 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4620 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 4625 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))+-- MElse -------------------------------------------------------+-- cata+sem_MElse :: MElse ->+ T_MElse+sem_MElse (MElse _pos _body) =+ (sem_MElse_MElse _pos (sem_Block _body))+-- semantic domain+type T_MElse = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ Region ->+ ( ([MToken]),MElse,Bool,Bool,Region,Doc)+data Inh_MElse = Inh_MElse {comments_Inh_MElse :: ([MToken]),forceMultiline_Inh_MElse :: Bool,indent_Inh_MElse :: Int,ppconf_Inh_MElse :: PrettyPrintConfig,statRegion_Inh_MElse :: Region}+data Syn_MElse = Syn_MElse {comments_Syn_MElse :: ([MToken]),copy_Syn_MElse :: MElse,elsesExist_Syn_MElse :: Bool,isMultiline_Syn_MElse :: Bool,pos_Syn_MElse :: Region,pretty_Syn_MElse :: Doc}+wrap_MElse :: T_MElse ->+ Inh_MElse ->+ Syn_MElse+wrap_MElse sem (Inh_MElse _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion+ in (Syn_MElse _lhsOcomments _lhsOcopy _lhsOelsesExist _lhsOisMultiline _lhsOpos _lhsOpretty))+sem_MElse_MElse :: Region ->+ T_Block ->+ T_MElse+sem_MElse_MElse pos_ body_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _bodyOindent :: Int+ _lhsOpos :: Region+ _bodyOcomments :: ([MToken])+ _lhsOelsesExist :: Bool+ _lhsOcopy :: MElse+ _lhsOcomments :: ([MToken])+ _bodyOforceMultiline :: Bool+ _bodyOppconf :: PrettyPrintConfig+ _bodyOstatRegion :: Region+ _bodyIcomments :: ([MToken])+ _bodyIcopy :: Block+ _bodyIisMultiline :: Bool+ _bodyIpretty :: Doc+ _bodyIstatementCount :: Int+ _lhsOpretty =+ ({-# LINE 601 "src/GLua/AG/PrettyPrint.ag" #-}+ indent _lhsIppconf _lhsIindent (zeroWidthText "else")+ <-> _prettyCommentsAfter+ $+$ _bodyIpretty+ {-# LINE 4679 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 605 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIisMultiline+ {-# LINE 4684 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOindent =+ ({-# LINE 606 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + 1+ {-# LINE 4689 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _prettyCommentsAfter =+ ({-# LINE 607 "src/GLua/AG/PrettyPrint.ag" #-}+ renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter )+ {-# LINE 4694 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfter =+ ({-# LINE 608 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `beforeOrOnLine` pos_) _lhsIcomments+ {-# LINE 4699 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 609 "src/GLua/AG/PrettyPrint.ag" #-}+ pos_+ {-# LINE 4704 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOcomments =+ ({-# LINE 610 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfter+ {-# LINE 4709 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOelsesExist =+ ({-# LINE 327 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 4714 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ MElse pos_ _bodyIcopy+ {-# LINE 4719 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4724 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIcomments+ {-# LINE 4729 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 4734 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 4739 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 4744 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _bodyIcomments,_bodyIcopy,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =+ body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOelsesExist,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))+-- MElseIf -----------------------------------------------------+-- cata+sem_MElseIf :: MElseIf ->+ T_MElseIf+sem_MElseIf (MElseIf _pos _elif) =+ (sem_MElseIf_MElseIf _pos (sem_ElseIf _elif))+-- semantic domain+type T_MElseIf = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),MElseIf,Bool,Region,Doc)+data Inh_MElseIf = Inh_MElseIf {comments_Inh_MElseIf :: ([MToken]),forceMultiline_Inh_MElseIf :: Bool,indent_Inh_MElseIf :: Int,ppconf_Inh_MElseIf :: PrettyPrintConfig}+data Syn_MElseIf = Syn_MElseIf {comments_Syn_MElseIf :: ([MToken]),copy_Syn_MElseIf :: MElseIf,isMultiline_Syn_MElseIf :: Bool,pos_Syn_MElseIf :: Region,pretty_Syn_MElseIf :: Doc}+wrap_MElseIf :: T_MElseIf ->+ Inh_MElseIf ->+ Syn_MElseIf+wrap_MElseIf sem (Inh_MElseIf _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpos,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_MElseIf _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpos _lhsOpretty))+sem_MElseIf_MElseIf :: Region ->+ T_ElseIf ->+ T_MElseIf+sem_MElseIf_MElseIf pos_ elif_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpos :: Region+ _lhsOisMultiline :: Bool+ _lhsOcopy :: MElseIf+ _lhsOcomments :: ([MToken])+ _lhsOpretty :: Doc+ _elifOcomments :: ([MToken])+ _elifOforceMultiline :: Bool+ _elifOindent :: Int+ _elifOppconf :: PrettyPrintConfig+ _elifIcomments :: ([MToken])+ _elifIcopy :: ElseIf+ _elifIisMultiline :: Bool+ _elifIpretty :: Doc+ _lhsOpos =+ ({-# LINE 576 "src/GLua/AG/PrettyPrint.ag" #-}+ pos_+ {-# LINE 4793 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 577 "src/GLua/AG/PrettyPrint.ag" #-}+ _elifIisMultiline+ {-# LINE 4798 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ MElseIf pos_ _elifIcopy+ {-# LINE 4803 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4808 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _elifIcomments+ {-# LINE 4813 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 264 "src/GLua/AG/PrettyPrint.ag" #-}+ _elifIpretty+ {-# LINE 4818 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elifOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 4823 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elifOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 4828 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elifOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 4833 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elifOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 4838 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _elifIcomments,_elifIcopy,_elifIisMultiline,_elifIpretty) =+ elif_ _elifOcomments _elifOforceMultiline _elifOindent _elifOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpos,_lhsOpretty)))+-- MExpr -------------------------------------------------------+-- cata+sem_MExpr :: MExpr ->+ T_MExpr+sem_MExpr (MExpr _pos _expr) =+ (sem_MExpr_MExpr _pos (sem_Expr _expr))+-- semantic domain+type T_MExpr = ([MToken]) ->+ Bool ->+ Int ->+ Bool ->+ OperatorLevel ->+ PrettyPrintConfig ->+ ( ([MToken]),MExpr,Bool,Bool,Bool,Bool,Region,OperatorLevel,Doc)+data Inh_MExpr = Inh_MExpr {comments_Inh_MExpr :: ([MToken]),forceMultiline_Inh_MExpr :: Bool,indent_Inh_MExpr :: Int,parentOperatorAssociative_Inh_MExpr :: Bool,parentOperatorPrecedence_Inh_MExpr :: OperatorLevel,ppconf_Inh_MExpr :: PrettyPrintConfig}+data Syn_MExpr = Syn_MExpr {comments_Syn_MExpr :: ([MToken]),copy_Syn_MExpr :: MExpr,endsWithPrefixExpression_Syn_MExpr :: Bool,isAssociative_Syn_MExpr :: Bool,isLiteral_Syn_MExpr :: Bool,isMultiline_Syn_MExpr :: Bool,pos_Syn_MExpr :: Region,precedence_Syn_MExpr :: OperatorLevel,pretty_Syn_MExpr :: Doc}+wrap_MExpr :: T_MExpr ->+ Inh_MExpr ->+ Syn_MExpr+wrap_MExpr sem (Inh_MExpr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOpos,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf+ in (Syn_MExpr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOpos _lhsOprecedence _lhsOpretty))+sem_MExpr_MExpr :: Region ->+ T_Expr ->+ T_MExpr+sem_MExpr_MExpr pos_ expr_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf ->+ (let _lhsOpos :: Region+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _exprOstatRegion :: Region+ _lhsOisAssociative :: Bool+ _lhsOisLiteral :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: MExpr+ _lhsOcomments :: ([MToken])+ _lhsOpretty :: Doc+ _exprOcomments :: ([MToken])+ _exprOforceMultiline :: Bool+ _exprOindent :: Int+ _exprOparentOperatorAssociative :: Bool+ _exprOparentOperatorPrecedence :: OperatorLevel+ _exprOppconf :: PrettyPrintConfig+ _exprIcomments :: ([MToken])+ _exprIcopy :: Expr+ _exprIendsWithPrefixExpression :: Bool+ _exprIisAssociative :: Bool+ _exprIisLiteral :: Bool+ _exprIisMultiline :: Bool+ _exprIprecedence :: OperatorLevel+ _exprIpretty :: Doc+ _lhsOpos =+ ({-# LINE 972 "src/GLua/AG/PrettyPrint.ag" #-}+ pos_+ {-# LINE 4902 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 973 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprIendsWithPrefixExpression+ {-# LINE 4907 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 974 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprIisMultiline+ {-# LINE 4912 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOstatRegion =+ ({-# LINE 975 "src/GLua/AG/PrettyPrint.ag" #-}+ pos_+ {-# LINE 4917 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprIisAssociative+ {-# LINE 4922 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 278 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprIisLiteral+ {-# LINE 4927 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprIprecedence+ {-# LINE 4932 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ MExpr pos_ _exprIcopy+ {-# LINE 4937 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 4942 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprIcomments+ {-# LINE 4947 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 264 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprIpretty+ {-# LINE 4952 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 4957 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 4962 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 4967 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOparentOperatorAssociative =+ ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIparentOperatorAssociative+ {-# LINE 4972 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOparentOperatorPrecedence =+ ({-# LINE 274 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIparentOperatorPrecedence+ {-# LINE 4977 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 4982 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _exprIcomments,_exprIcopy,_exprIendsWithPrefixExpression,_exprIisAssociative,_exprIisLiteral,_exprIisMultiline,_exprIprecedence,_exprIpretty) =+ expr_ _exprOcomments _exprOforceMultiline _exprOindent _exprOparentOperatorAssociative _exprOparentOperatorPrecedence _exprOppconf _exprOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOpos,_lhsOprecedence,_lhsOpretty)))+-- MExprList ---------------------------------------------------+-- cata+sem_MExprList :: MExprList ->+ T_MExprList+sem_MExprList list =+ (Prelude.foldr sem_MExprList_Cons sem_MExprList_Nil (Prelude.map sem_MExpr list))+-- semantic domain+type T_MExprList = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ Bool ->+ ( ([MToken]),MExprList,Bool,Bool,Bool,Region,OperatorLevel,Doc)+data Inh_MExprList = Inh_MExprList {comments_Inh_MExprList :: ([MToken]),forceMultiline_Inh_MExprList :: Bool,indent_Inh_MExprList :: Int,ppconf_Inh_MExprList :: PrettyPrintConfig,someElementsInListAreMultiline_Inh_MExprList :: Bool}+data Syn_MExprList = Syn_MExprList {comments_Syn_MExprList :: ([MToken]),copy_Syn_MExprList :: MExprList,isAssociative_Syn_MExprList :: Bool,isLast_Syn_MExprList :: Bool,isMultiline_Syn_MExprList :: Bool,pos_Syn_MExprList :: Region,precedence_Syn_MExprList :: OperatorLevel,pretty_Syn_MExprList :: Doc}+wrap_MExprList :: T_MExprList ->+ Inh_MExprList ->+ Syn_MExprList+wrap_MExprList sem (Inh_MExprList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisLast,_lhsOisMultiline,_lhsOpos,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIsomeElementsInListAreMultiline+ in (Syn_MExprList _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisLast _lhsOisMultiline _lhsOpos _lhsOprecedence _lhsOpretty))+sem_MExprList_Cons :: T_MExpr ->+ T_MExprList ->+ T_MExprList+sem_MExprList_Cons hd_ tl_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf+ _lhsIsomeElementsInListAreMultiline ->+ (let _lhsOpretty :: Doc+ _hdOcomments :: ([MToken])+ _tlOcomments :: ([MToken])+ _lhsOcomments :: ([MToken])+ _lhsOpos :: Region+ _lhsOisLast :: Bool+ _hdOparentOperatorPrecedence :: OperatorLevel+ _hdOparentOperatorAssociative :: Bool+ _tlOsomeElementsInListAreMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: MExprList+ _lhsOisMultiline :: Bool+ _hdOforceMultiline :: Bool+ _hdOindent :: Int+ _hdOppconf :: PrettyPrintConfig+ _tlOforceMultiline :: Bool+ _tlOindent :: Int+ _tlOppconf :: PrettyPrintConfig+ _hdIcomments :: ([MToken])+ _hdIcopy :: MExpr+ _hdIendsWithPrefixExpression :: Bool+ _hdIisAssociative :: Bool+ _hdIisLiteral :: Bool+ _hdIisMultiline :: Bool+ _hdIpos :: Region+ _hdIprecedence :: OperatorLevel+ _hdIpretty :: Doc+ _tlIcomments :: ([MToken])+ _tlIcopy :: MExprList+ _tlIisAssociative :: Bool+ _tlIisLast :: Bool+ _tlIisMultiline :: Bool+ _tlIpos :: Region+ _tlIprecedence :: OperatorLevel+ _tlIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 417 "src/GLua/AG/PrettyPrint.ag" #-}+ if _isMultiline then _prettyMultiLine else _prettySingleLine+ {-# LINE 5056 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _prettySingleLine =+ ({-# LINE 418 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIpretty+ <> _comma+ <> _tlIpretty+ {-# LINE 5063 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _prettyMultiLine =+ ({-# LINE 422 "src/GLua/AG/PrettyPrint.ag" #-}+ renderMLComments _lhsIppconf _lhsIindent (fst _commentsBeforeLine )+ $+$ indent _lhsIppconf _lhsIindent _hdIpretty+ <> _comma+ <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter )+ $+$ _tlIpretty+ {-# LINE 5072 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _comma =+ ({-# LINE 428 "src/GLua/AG/PrettyPrint.ag" #-}+ if _tlIisLast then+ empty+ else+ (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)+ <> zchr ','+ <> (if not _isMultiline && spaceAfterComma _lhsIppconf then zchr ' ' else empty)+ {-# LINE 5082 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsBeforeLine =+ ({-# LINE 436 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos' _) -> pos' `before` _hdIpos) _lhsIcomments+ {-# LINE 5087 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOcomments =+ ({-# LINE 437 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsBeforeLine+ {-# LINE 5092 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfter =+ ({-# LINE 438 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos' _) -> pos' `before` _tlIpos) _hdIcomments+ {-# LINE 5097 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOcomments =+ ({-# LINE 439 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfter+ {-# LINE 5102 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 440 "src/GLua/AG/PrettyPrint.ag" #-}+ _tlIcomments+ {-# LINE 5107 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 442 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIpos+ {-# LINE 5112 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLast =+ ({-# LINE 443 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5117 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOparentOperatorPrecedence =+ ({-# LINE 444 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 5122 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOparentOperatorAssociative =+ ({-# LINE 445 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 5127 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _isMultiline =+ ({-# LINE 446 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ || not (null $ fst _commentsBeforeLine )+ || not (null $ fst _commentsAfter )+ || _lhsIsomeElementsInListAreMultiline+ || _hdIisMultiline+ || _tlIisMultiline+ {-# LINE 5137 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOsomeElementsInListAreMultiline =+ ({-# LINE 454 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIsomeElementsInListAreMultiline+ || _hdIisMultiline+ || not (null $ fst _commentsBeforeLine )+ || not (null $ fst _commentsAfter )+ {-# LINE 5145 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIisAssociative && _tlIisAssociative+ {-# LINE 5150 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ (min _hdIprecedence _tlIprecedence)+ {-# LINE 5155 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 5160 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 5165 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}+ _isMultiline+ {-# LINE 5170 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 5175 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 5180 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 5185 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 5190 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 5195 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 5200 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _hdIcomments,_hdIcopy,_hdIendsWithPrefixExpression,_hdIisAssociative,_hdIisLiteral,_hdIisMultiline,_hdIpos,_hdIprecedence,_hdIpretty) =+ hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOparentOperatorAssociative _hdOparentOperatorPrecedence _hdOppconf+ ( _tlIcomments,_tlIcopy,_tlIisAssociative,_tlIisLast,_tlIisMultiline,_tlIpos,_tlIprecedence,_tlIpretty) =+ tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf _tlOsomeElementsInListAreMultiline+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisLast,_lhsOisMultiline,_lhsOpos,_lhsOprecedence,_lhsOpretty)))+sem_MExprList_Nil :: T_MExprList+sem_MExprList_Nil =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf+ _lhsIsomeElementsInListAreMultiline ->+ (let _lhsOpretty :: Doc+ _lhsOpos :: Region+ _lhsOisMultiline :: Bool+ _lhsOisLast :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: MExprList+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 461 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 5225 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpos =+ ({-# LINE 462 "src/GLua/AG/PrettyPrint.ag" #-}+ emptyRg+ {-# LINE 5230 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 463 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5235 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLast =+ ({-# LINE 464 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 5240 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5245 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 5250 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ []+ {-# LINE 5255 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 5260 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 5265 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisLast,_lhsOisMultiline,_lhsOpos,_lhsOprecedence,_lhsOpretty)))+-- MStat -------------------------------------------------------+-- cata+sem_MStat :: MStat ->+ T_MStat+sem_MStat (MStat _pos _stat) =+ (sem_MStat_MStat _pos (sem_Stat _stat))+-- semantic domain+type T_MStat = ([MToken]) ->+ Bool ->+ Int ->+ Bool ->+ PrettyPrintConfig ->+ Bool ->+ ( ([MToken]),MStat,Bool,Bool,Region,Doc,Bool,Int)+data Inh_MStat = Inh_MStat {comments_Inh_MStat :: ([MToken]),forceMultiline_Inh_MStat :: Bool,indent_Inh_MStat :: Int,isLastStatement_Inh_MStat :: Bool,ppconf_Inh_MStat :: PrettyPrintConfig,wouldBeAmbiguousWithoutSemicolon_Inh_MStat :: Bool}+data Syn_MStat = Syn_MStat {comments_Syn_MStat :: ([MToken]),copy_Syn_MStat :: MStat,endsWithPrefixExpression_Syn_MStat :: Bool,isMultiline_Syn_MStat :: Bool,pos_Syn_MStat :: Region,pretty_Syn_MStat :: Doc,startsWithExprPrefixExpression_Syn_MStat :: Bool,statementCount_Syn_MStat :: Int}+wrap_MStat :: T_MStat ->+ Inh_MStat ->+ Syn_MStat+wrap_MStat sem (Inh_MStat _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIwouldBeAmbiguousWithoutSemicolon) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpos,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIwouldBeAmbiguousWithoutSemicolon+ in (Syn_MStat _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisMultiline _lhsOpos _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOstatementCount))+sem_MStat_MStat :: Region ->+ T_Stat ->+ T_MStat+sem_MStat_MStat pos_ stat_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOpos :: Region+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _statOstatRegion :: Region+ _statOwouldBeAmbiguousWithoutSemicolon :: Bool+ _lhsOstatementCount :: Int+ _lhsOcopy :: MStat+ _lhsOcomments :: ([MToken])+ _lhsOpretty :: Doc+ _statOcomments :: ([MToken])+ _statOforceMultiline :: Bool+ _statOindent :: Int+ _statOisLastStatement :: Bool+ _statOppconf :: PrettyPrintConfig+ _statIcomments :: ([MToken])+ _statIcopy :: Stat+ _statIendsWithPrefixExpression :: Bool+ _statIisMultiline :: Bool+ _statIpretty :: Doc+ _statIstartsWithExprPrefixExpression :: Bool+ _lhsOpos =+ ({-# LINE 408 "src/GLua/AG/PrettyPrint.ag" #-}+ pos_+ {-# LINE 5324 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 409 "src/GLua/AG/PrettyPrint.ag" #-}+ _statIstartsWithExprPrefixExpression+ {-# LINE 5329 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 410 "src/GLua/AG/PrettyPrint.ag" #-}+ _statIendsWithPrefixExpression+ {-# LINE 5334 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 411 "src/GLua/AG/PrettyPrint.ag" #-}+ _statIisMultiline+ {-# LINE 5339 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statOstatRegion =+ ({-# LINE 412 "src/GLua/AG/PrettyPrint.ag" #-}+ pos_+ {-# LINE 5344 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statOwouldBeAmbiguousWithoutSemicolon =+ ({-# LINE 413 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIwouldBeAmbiguousWithoutSemicolon+ {-# LINE 5349 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstatementCount =+ ({-# LINE 324 "src/GLua/AG/PrettyPrint.ag" #-}+ 1+ {-# LINE 5354 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ MStat pos_ _statIcopy+ {-# LINE 5359 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 5364 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _statIcomments+ {-# LINE 5369 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 264 "src/GLua/AG/PrettyPrint.ag" #-}+ _statIpretty+ {-# LINE 5374 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 5379 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 5384 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 5389 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statOisLastStatement =+ ({-# LINE 307 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIisLastStatement+ {-# LINE 5394 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _statOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 5399 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _statIcomments,_statIcopy,_statIendsWithPrefixExpression,_statIisMultiline,_statIpretty,_statIstartsWithExprPrefixExpression) =+ stat_ _statOcomments _statOforceMultiline _statOindent _statOisLastStatement _statOppconf _statOstatRegion _statOwouldBeAmbiguousWithoutSemicolon+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpos,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOstatementCount)))+-- MStatList ---------------------------------------------------+-- cata+sem_MStatList :: MStatList ->+ T_MStatList+sem_MStatList list =+ (Prelude.foldr sem_MStatList_Cons sem_MStatList_Nil (Prelude.map sem_MStat list))+-- semantic domain+type T_MStatList = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ Region ->+ ( ([MToken]),MStatList,Bool,Bool,Doc,Bool,Int)+data Inh_MStatList = Inh_MStatList {comments_Inh_MStatList :: ([MToken]),forceMultiline_Inh_MStatList :: Bool,indent_Inh_MStatList :: Int,ppconf_Inh_MStatList :: PrettyPrintConfig,statRegion_Inh_MStatList :: Region}+data Syn_MStatList = Syn_MStatList {comments_Syn_MStatList :: ([MToken]),copy_Syn_MStatList :: MStatList,isLast_Syn_MStatList :: Bool,isMultiline_Syn_MStatList :: Bool,pretty_Syn_MStatList :: Doc,startsWithExprPrefixExpression_Syn_MStatList :: Bool,statementCount_Syn_MStatList :: Int}+wrap_MStatList :: T_MStatList ->+ Inh_MStatList ->+ Syn_MStatList+wrap_MStatList sem (Inh_MStatList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisLast,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOstatementCount) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf _lhsIstatRegion+ in (Syn_MStatList _lhsOcomments _lhsOcopy _lhsOisLast _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOstatementCount))+sem_MStatList_Cons :: T_MStat ->+ T_MStatList ->+ T_MStatList+sem_MStatList_Cons hd_ tl_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOisLast :: Bool+ _hdOcomments :: ([MToken])+ _tlOcomments :: ([MToken])+ _lhsOcomments :: ([MToken])+ _hdOisLastStatement :: Bool+ _hdOwouldBeAmbiguousWithoutSemicolon :: Bool+ _hdOforceMultiline :: Bool+ _lhsOstatementCount :: Int+ _lhsOcopy :: MStatList+ _lhsOisMultiline :: Bool+ _hdOindent :: Int+ _hdOppconf :: PrettyPrintConfig+ _tlOforceMultiline :: Bool+ _tlOindent :: Int+ _tlOppconf :: PrettyPrintConfig+ _tlOstatRegion :: Region+ _hdIcomments :: ([MToken])+ _hdIcopy :: MStat+ _hdIendsWithPrefixExpression :: Bool+ _hdIisMultiline :: Bool+ _hdIpos :: Region+ _hdIpretty :: Doc+ _hdIstartsWithExprPrefixExpression :: Bool+ _hdIstatementCount :: Int+ _tlIcomments :: ([MToken])+ _tlIcopy :: MStatList+ _tlIisLast :: Bool+ _tlIisMultiline :: Bool+ _tlIpretty :: Doc+ _tlIstartsWithExprPrefixExpression :: Bool+ _tlIstatementCount :: Int+ _lhsOpretty =+ ({-# LINE 367 "src/GLua/AG/PrettyPrint.ag" #-}+ renderMLComments _lhsIppconf _lhsIindent (fst _commentsBeforeLine )+ $+$ indent _lhsIppconf _lhsIindent _hdIpretty+ <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfter )+ <> _addNewline+ $+$ _tlIpretty+ {-# LINE 5474 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 373 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIstartsWithExprPrefixExpression+ {-# LINE 5479 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLast =+ ({-# LINE 374 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5484 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _isMultiline =+ ({-# LINE 376 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIisMultiline+ || _tlIisMultiline+ || not (null $ fst _commentsBeforeLine )+ || not (null $ fst _commentsAfter )+ {-# LINE 5492 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _addNewline =+ ({-# LINE 381 "src/GLua/AG/PrettyPrint.ag" #-}+ if not _tlIisLast && _hdIisMultiline then zchr '\n' else empty+ {-# LINE 5497 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsBeforeLine =+ ({-# LINE 384 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos' _) -> pos' `before` _hdIpos) _lhsIcomments+ {-# LINE 5502 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOcomments =+ ({-# LINE 385 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsBeforeLine+ {-# LINE 5507 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfter =+ ({-# LINE 386 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos' _) -> pos' `beforeOrOnLine` _hdIpos) _hdIcomments+ {-# LINE 5512 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOcomments =+ ({-# LINE 387 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfter+ {-# LINE 5517 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 388 "src/GLua/AG/PrettyPrint.ag" #-}+ _tlIcomments+ {-# LINE 5522 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOisLastStatement =+ ({-# LINE 390 "src/GLua/AG/PrettyPrint.ag" #-}+ _tlIisLast+ {-# LINE 5527 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOwouldBeAmbiguousWithoutSemicolon =+ ({-# LINE 396 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIendsWithPrefixExpression && _tlIstartsWithExprPrefixExpression+ {-# LINE 5532 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOforceMultiline =+ ({-# LINE 398 "src/GLua/AG/PrettyPrint.ag" #-}+ commentsForceMultiline $ fst _commentsBeforeLine+ {-# LINE 5537 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstatementCount =+ ({-# LINE 324 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIstatementCount + _tlIstatementCount+ {-# LINE 5542 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 5547 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 5552 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}+ _isMultiline+ {-# LINE 5557 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 5562 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 5567 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 5572 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 5577 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 5582 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 5587 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _hdIcomments,_hdIcopy,_hdIendsWithPrefixExpression,_hdIisMultiline,_hdIpos,_hdIpretty,_hdIstartsWithExprPrefixExpression,_hdIstatementCount) =+ hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOisLastStatement _hdOppconf _hdOwouldBeAmbiguousWithoutSemicolon+ ( _tlIcomments,_tlIcopy,_tlIisLast,_tlIisMultiline,_tlIpretty,_tlIstartsWithExprPrefixExpression,_tlIstatementCount) =+ tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf _tlOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOisLast,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOstatementCount)))+sem_MStatList_Nil :: T_MStatList+sem_MStatList_Nil =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf+ _lhsIstatRegion ->+ (let _lhsOpretty :: Doc+ _lhsOstatementCount :: Int+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisLast :: Bool+ _lhsOcopy :: MStatList+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 400 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 5611 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstatementCount =+ ({-# LINE 401 "src/GLua/AG/PrettyPrint.ag" #-}+ 0+ {-# LINE 5616 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 402 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5621 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 403 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5626 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLast =+ ({-# LINE 404 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 5631 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ []+ {-# LINE 5636 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 5641 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 5646 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisLast,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOstatementCount)))+-- MaybeMExpr --------------------------------------------------+-- cata+sem_MaybeMExpr :: MaybeMExpr ->+ T_MaybeMExpr+sem_MaybeMExpr (Prelude.Just x) =+ (sem_MaybeMExpr_Just (sem_MExpr x))+sem_MaybeMExpr Prelude.Nothing =+ sem_MaybeMExpr_Nothing+-- semantic domain+type T_MaybeMExpr = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),MaybeMExpr,Bool,Bool,Bool,Bool,OperatorLevel,Doc)+data Inh_MaybeMExpr = Inh_MaybeMExpr {comments_Inh_MaybeMExpr :: ([MToken]),forceMultiline_Inh_MaybeMExpr :: Bool,indent_Inh_MaybeMExpr :: Int,ppconf_Inh_MaybeMExpr :: PrettyPrintConfig}+data Syn_MaybeMExpr = Syn_MaybeMExpr {comments_Syn_MaybeMExpr :: ([MToken]),copy_Syn_MaybeMExpr :: MaybeMExpr,endsWithPrefixExpression_Syn_MaybeMExpr :: Bool,isAssociative_Syn_MaybeMExpr :: Bool,isDefined_Syn_MaybeMExpr :: Bool,isMultiline_Syn_MaybeMExpr :: Bool,precedence_Syn_MaybeMExpr :: OperatorLevel,pretty_Syn_MaybeMExpr :: Doc}+wrap_MaybeMExpr :: T_MaybeMExpr ->+ Inh_MaybeMExpr ->+ Syn_MaybeMExpr+wrap_MaybeMExpr sem (Inh_MaybeMExpr _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisDefined,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_MaybeMExpr _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisAssociative _lhsOisDefined _lhsOisMultiline _lhsOprecedence _lhsOpretty))+sem_MaybeMExpr_Just :: T_MExpr ->+ T_MaybeMExpr+sem_MaybeMExpr_Just just_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisDefined :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _justOparentOperatorPrecedence :: OperatorLevel+ _justOparentOperatorAssociative :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: MaybeMExpr+ _lhsOcomments :: ([MToken])+ _justOcomments :: ([MToken])+ _justOforceMultiline :: Bool+ _justOindent :: Int+ _justOppconf :: PrettyPrintConfig+ _justIcomments :: ([MToken])+ _justIcopy :: MExpr+ _justIendsWithPrefixExpression :: Bool+ _justIisAssociative :: Bool+ _justIisLiteral :: Bool+ _justIisMultiline :: Bool+ _justIpos :: Region+ _justIprecedence :: OperatorLevel+ _justIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 508 "src/GLua/AG/PrettyPrint.ag" #-}+ _justIpretty+ {-# LINE 5704 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisDefined =+ ({-# LINE 509 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 5709 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 510 "src/GLua/AG/PrettyPrint.ag" #-}+ _justIendsWithPrefixExpression+ {-# LINE 5714 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 511 "src/GLua/AG/PrettyPrint.ag" #-}+ _justIisMultiline+ {-# LINE 5719 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOparentOperatorPrecedence =+ ({-# LINE 512 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 5724 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOparentOperatorAssociative =+ ({-# LINE 513 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 5729 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ _justIisAssociative+ {-# LINE 5734 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ _justIprecedence+ {-# LINE 5739 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ Just _justIcopy+ {-# LINE 5744 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 5749 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _justIcomments+ {-# LINE 5754 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 5759 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 5764 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 5769 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _justOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 5774 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _justIcomments,_justIcopy,_justIendsWithPrefixExpression,_justIisAssociative,_justIisLiteral,_justIisMultiline,_justIpos,_justIprecedence,_justIpretty) =+ just_ _justOcomments _justOforceMultiline _justOindent _justOparentOperatorAssociative _justOparentOperatorPrecedence _justOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisDefined,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_MaybeMExpr_Nothing :: T_MaybeMExpr+sem_MaybeMExpr_Nothing =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisDefined :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: MaybeMExpr+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 515 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 5796 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisDefined =+ ({-# LINE 516 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5801 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 517 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5806 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 518 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5811 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5816 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 5821 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ Nothing+ {-# LINE 5826 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 5831 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 5836 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisAssociative,_lhsOisDefined,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+-- PFExprSuffix ------------------------------------------------+-- cata+sem_PFExprSuffix :: PFExprSuffix ->+ T_PFExprSuffix+sem_PFExprSuffix (Call _args) =+ (sem_PFExprSuffix_Call (sem_Args _args))+sem_PFExprSuffix (MetaCall _fn _args) =+ (sem_PFExprSuffix_MetaCall _fn (sem_Args _args))+sem_PFExprSuffix (ExprIndex _index) =+ (sem_PFExprSuffix_ExprIndex (sem_MExpr _index))+sem_PFExprSuffix (DotIndex _index) =+ (sem_PFExprSuffix_DotIndex _index)+-- semantic domain+type T_PFExprSuffix = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),PFExprSuffix,Bool,Bool,OperatorLevel,Doc)+data Inh_PFExprSuffix = Inh_PFExprSuffix {comments_Inh_PFExprSuffix :: ([MToken]),forceMultiline_Inh_PFExprSuffix :: Bool,indent_Inh_PFExprSuffix :: Int,ppconf_Inh_PFExprSuffix :: PrettyPrintConfig}+data Syn_PFExprSuffix = Syn_PFExprSuffix {comments_Syn_PFExprSuffix :: ([MToken]),copy_Syn_PFExprSuffix :: PFExprSuffix,isAssociative_Syn_PFExprSuffix :: Bool,isMultiline_Syn_PFExprSuffix :: Bool,precedence_Syn_PFExprSuffix :: OperatorLevel,pretty_Syn_PFExprSuffix :: Doc}+wrap_PFExprSuffix :: T_PFExprSuffix ->+ Inh_PFExprSuffix ->+ Syn_PFExprSuffix+wrap_PFExprSuffix sem (Inh_PFExprSuffix _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_PFExprSuffix _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisMultiline _lhsOprecedence _lhsOpretty))+sem_PFExprSuffix_Call :: T_Args ->+ T_PFExprSuffix+sem_PFExprSuffix_Call args_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: PFExprSuffix+ _lhsOcomments :: ([MToken])+ _argsOcomments :: ([MToken])+ _argsOforceMultiline :: Bool+ _argsOindent :: Int+ _argsOppconf :: PrettyPrintConfig+ _argsIcomments :: ([MToken])+ _argsIcopy :: Args+ _argsIisMultiline :: Bool+ _argsIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 956 "src/GLua/AG/PrettyPrint.ag" #-}+ _argsIpretty+ {-# LINE 5889 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 957 "src/GLua/AG/PrettyPrint.ag" #-}+ _argsIisMultiline+ {-# LINE 5894 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5899 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 5904 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ Call _argsIcopy+ {-# LINE 5909 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 5914 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _argsIcomments+ {-# LINE 5919 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 5924 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 5929 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 5934 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 5939 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _argsIcomments,_argsIcopy,_argsIisMultiline,_argsIpretty) =+ args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_PFExprSuffix_MetaCall :: MToken ->+ T_Args ->+ T_PFExprSuffix+sem_PFExprSuffix_MetaCall fn_ args_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: PFExprSuffix+ _lhsOcomments :: ([MToken])+ _argsOcomments :: ([MToken])+ _argsOforceMultiline :: Bool+ _argsOindent :: Int+ _argsOppconf :: PrettyPrintConfig+ _argsIcomments :: ([MToken])+ _argsIcopy :: Args+ _argsIisMultiline :: Bool+ _argsIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 959 "src/GLua/AG/PrettyPrint.ag" #-}+ zchr ':' <> tok fn_ <> _argsIpretty+ {-# LINE 5969 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 960 "src/GLua/AG/PrettyPrint.ag" #-}+ _argsIisMultiline+ {-# LINE 5974 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 5979 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 5984 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ MetaCall fn_ _argsIcopy+ {-# LINE 5989 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 5994 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _argsIcomments+ {-# LINE 5999 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6004 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 6009 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 6014 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _argsOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 6019 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _argsIcomments,_argsIcopy,_argsIisMultiline,_argsIpretty) =+ args_ _argsOcomments _argsOforceMultiline _argsOindent _argsOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_PFExprSuffix_ExprIndex :: T_MExpr ->+ T_PFExprSuffix+sem_PFExprSuffix_ExprIndex index_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _indexOparentOperatorPrecedence :: OperatorLevel+ _indexOparentOperatorAssociative :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: PFExprSuffix+ _lhsOcomments :: ([MToken])+ _indexOcomments :: ([MToken])+ _indexOforceMultiline :: Bool+ _indexOindent :: Int+ _indexOppconf :: PrettyPrintConfig+ _indexIcomments :: ([MToken])+ _indexIcopy :: MExpr+ _indexIendsWithPrefixExpression :: Bool+ _indexIisAssociative :: Bool+ _indexIisLiteral :: Bool+ _indexIisMultiline :: Bool+ _indexIpos :: Region+ _indexIprecedence :: OperatorLevel+ _indexIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 962 "src/GLua/AG/PrettyPrint.ag" #-}+ brackets _lhsIppconf _indexIpretty+ {-# LINE 6055 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 963 "src/GLua/AG/PrettyPrint.ag" #-}+ _indexIisMultiline+ {-# LINE 6060 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _indexOparentOperatorPrecedence =+ ({-# LINE 964 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 6065 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _indexOparentOperatorAssociative =+ ({-# LINE 965 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 6070 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ _indexIisAssociative+ {-# LINE 6075 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ _indexIprecedence+ {-# LINE 6080 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ExprIndex _indexIcopy+ {-# LINE 6085 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 6090 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _indexIcomments+ {-# LINE 6095 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _indexOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6100 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _indexOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 6105 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _indexOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 6110 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _indexOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 6115 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _indexIcomments,_indexIcopy,_indexIendsWithPrefixExpression,_indexIisAssociative,_indexIisLiteral,_indexIisMultiline,_indexIpos,_indexIprecedence,_indexIpretty) =+ index_ _indexOcomments _indexOforceMultiline _indexOindent _indexOparentOperatorAssociative _indexOparentOperatorPrecedence _indexOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+sem_PFExprSuffix_DotIndex :: MToken ->+ T_PFExprSuffix+sem_PFExprSuffix_DotIndex index_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: PFExprSuffix+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 967 "src/GLua/AG/PrettyPrint.ag" #-}+ zchr '.' <> tok index_+ {-# LINE 6136 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 968 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6141 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6146 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ OperatorLevel8+ {-# LINE 6151 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ DotIndex index_+ {-# LINE 6156 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 6161 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6166 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty)))+-- PrefixExp ---------------------------------------------------+-- cata+sem_PrefixExp :: PrefixExp ->+ T_PrefixExp+sem_PrefixExp (PFVar _name _suffixes) =+ (sem_PrefixExp_PFVar _name (sem_ExprSuffixList _suffixes))+sem_PrefixExp (ExprVar _expr _suffixes) =+ (sem_PrefixExp_ExprVar (sem_MExpr _expr) (sem_ExprSuffixList _suffixes))+-- semantic domain+type T_PrefixExp = ([MToken]) ->+ Bool ->+ Int ->+ Bool ->+ OperatorLevel ->+ PrettyPrintConfig ->+ ( ([MToken]),PrefixExp,Bool,Bool,Bool,OperatorLevel,Doc,Bool)+data Inh_PrefixExp = Inh_PrefixExp {comments_Inh_PrefixExp :: ([MToken]),forceMultiline_Inh_PrefixExp :: Bool,indent_Inh_PrefixExp :: Int,parentOperatorAssociative_Inh_PrefixExp :: Bool,parentOperatorPrecedence_Inh_PrefixExp :: OperatorLevel,ppconf_Inh_PrefixExp :: PrettyPrintConfig}+data Syn_PrefixExp = Syn_PrefixExp {comments_Syn_PrefixExp :: ([MToken]),copy_Syn_PrefixExp :: PrefixExp,isAssociative_Syn_PrefixExp :: Bool,isLiteral_Syn_PrefixExp :: Bool,isMultiline_Syn_PrefixExp :: Bool,precedence_Syn_PrefixExp :: OperatorLevel,pretty_Syn_PrefixExp :: Doc,startsWithExprPrefixExpression_Syn_PrefixExp :: Bool}+wrap_PrefixExp :: T_PrefixExp ->+ Inh_PrefixExp ->+ Syn_PrefixExp+wrap_PrefixExp sem (Inh_PrefixExp _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty,_lhsOstartsWithExprPrefixExpression) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIparentOperatorAssociative _lhsIparentOperatorPrecedence _lhsIppconf+ in (Syn_PrefixExp _lhsOcomments _lhsOcopy _lhsOisAssociative _lhsOisLiteral _lhsOisMultiline _lhsOprecedence _lhsOpretty _lhsOstartsWithExprPrefixExpression))+sem_PrefixExp_PFVar :: MToken ->+ T_ExprSuffixList ->+ T_PrefixExp+sem_PrefixExp_PFVar name_ suffixes_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisLiteral :: Bool+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOprecedence :: OperatorLevel+ _lhsOcopy :: PrefixExp+ _lhsOcomments :: ([MToken])+ _suffixesOcomments :: ([MToken])+ _suffixesOforceMultiline :: Bool+ _suffixesOindent :: Int+ _suffixesOppconf :: PrettyPrintConfig+ _suffixesIcomments :: ([MToken])+ _suffixesIcopy :: ExprSuffixList+ _suffixesIisAssociative :: Bool+ _suffixesIisMultiline :: Bool+ _suffixesIprecedence :: OperatorLevel+ _suffixesIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 903 "src/GLua/AG/PrettyPrint.ag" #-}+ tok name_ <> _suffixesIpretty+ {-# LINE 6224 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 904 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6229 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 905 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6234 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 906 "src/GLua/AG/PrettyPrint.ag" #-}+ _suffixesIisMultiline+ {-# LINE 6239 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ _suffixesIisAssociative+ {-# LINE 6244 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 282 "src/GLua/AG/PrettyPrint.ag" #-}+ _suffixesIprecedence+ {-# LINE 6249 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ PFVar name_ _suffixesIcopy+ {-# LINE 6254 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 6259 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _suffixesIcomments+ {-# LINE 6264 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _suffixesOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6269 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _suffixesOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 6274 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _suffixesOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 6279 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _suffixesOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 6284 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _suffixesIcomments,_suffixesIcopy,_suffixesIisAssociative,_suffixesIisMultiline,_suffixesIprecedence,_suffixesIpretty) =+ suffixes_ _suffixesOcomments _suffixesOforceMultiline _suffixesOindent _suffixesOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_PrefixExp_ExprVar :: T_MExpr ->+ T_ExprSuffixList ->+ T_PrefixExp+sem_PrefixExp_ExprVar expr_ suffixes_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIparentOperatorAssociative+ _lhsIparentOperatorPrecedence+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOprecedence :: OperatorLevel+ _lhsOisLiteral :: Bool+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisAssociative :: Bool+ _lhsOcopy :: PrefixExp+ _lhsOcomments :: ([MToken])+ _exprOcomments :: ([MToken])+ _exprOforceMultiline :: Bool+ _exprOindent :: Int+ _exprOparentOperatorAssociative :: Bool+ _exprOparentOperatorPrecedence :: OperatorLevel+ _exprOppconf :: PrettyPrintConfig+ _suffixesOcomments :: ([MToken])+ _suffixesOforceMultiline :: Bool+ _suffixesOindent :: Int+ _suffixesOppconf :: PrettyPrintConfig+ _exprIcomments :: ([MToken])+ _exprIcopy :: MExpr+ _exprIendsWithPrefixExpression :: Bool+ _exprIisAssociative :: Bool+ _exprIisLiteral :: Bool+ _exprIisMultiline :: Bool+ _exprIpos :: Region+ _exprIprecedence :: OperatorLevel+ _exprIpretty :: Doc+ _suffixesIcomments :: ([MToken])+ _suffixesIcopy :: ExprSuffixList+ _suffixesIisAssociative :: Bool+ _suffixesIisMultiline :: Bool+ _suffixesIprecedence :: OperatorLevel+ _suffixesIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 908 "src/GLua/AG/PrettyPrint.ag" #-}+ (if _noparens then _exprIpretty else parens _lhsIppconf NonEmpty _exprIpretty)+ <> _suffixesIpretty+ {-# LINE 6336 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOprecedence =+ ({-# LINE 911 "src/GLua/AG/PrettyPrint.ag" #-}+ if _noparens then _exprIprecedence else OperatorLevel8+ {-# LINE 6341 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLiteral =+ ({-# LINE 912 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6346 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 913 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 6351 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 914 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprIisMultiline || _suffixesIisMultiline+ {-# LINE 6356 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _containsParenthesizedExpr =+ ({-# LINE 918 "src/GLua/AG/PrettyPrint.ag" #-}+ case _exprIcopy of+ MExpr _ (APrefixExpr (ExprVar (MExpr _ AVarArg) _)) -> False+ MExpr _ (APrefixExpr _) -> True+ _ -> False+ {-# LINE 6364 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _noparens =+ ({-# LINE 924 "src/GLua/AG/PrettyPrint.ag" #-}+ (removeRedundantParens _lhsIppconf || minimizeParens _lhsIppconf)+ && (_containsParenthesizedExpr+ || (_lhsIparentOperatorPrecedence == TopLevelExpression || _exprIisLiteral)+ && length _suffixesIcopy == 0+ )+ || (minimizeParens _lhsIppconf && length _suffixesIcopy == 0+ && ( _lhsIparentOperatorPrecedence < _exprIprecedence+ || assumeOperatorAssociativity _lhsIppconf+ && _lhsIparentOperatorPrecedence == _exprIprecedence+ && _lhsIparentOperatorAssociative+ )+ )+ {-# LINE 6380 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisAssociative =+ ({-# LINE 284 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprIisAssociative && _suffixesIisAssociative+ {-# LINE 6385 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ExprVar _exprIcopy _suffixesIcopy+ {-# LINE 6390 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 6395 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _suffixesIcomments+ {-# LINE 6400 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6405 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 6410 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 6415 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOparentOperatorAssociative =+ ({-# LINE 275 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIparentOperatorAssociative+ {-# LINE 6420 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOparentOperatorPrecedence =+ ({-# LINE 274 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIparentOperatorPrecedence+ {-# LINE 6425 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 6430 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _suffixesOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprIcomments+ {-# LINE 6435 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _suffixesOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 6440 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _suffixesOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 6445 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _suffixesOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 6450 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _exprIcomments,_exprIcopy,_exprIendsWithPrefixExpression,_exprIisAssociative,_exprIisLiteral,_exprIisMultiline,_exprIpos,_exprIprecedence,_exprIpretty) =+ expr_ _exprOcomments _exprOforceMultiline _exprOindent _exprOparentOperatorAssociative _exprOparentOperatorPrecedence _exprOppconf+ ( _suffixesIcomments,_suffixesIcopy,_suffixesIisAssociative,_suffixesIisMultiline,_suffixesIprecedence,_suffixesIpretty) =+ suffixes_ _suffixesOcomments _suffixesOforceMultiline _suffixesOindent _suffixesOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOisAssociative,_lhsOisLiteral,_lhsOisMultiline,_lhsOprecedence,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+-- Stat --------------------------------------------------------+-- cata+sem_Stat :: Stat ->+ T_Stat+sem_Stat (Def _vars) =+ (sem_Stat_Def (sem_VarsList _vars))+sem_Stat (LocDef _vars) =+ (sem_Stat_LocDef (sem_VarsList _vars))+sem_Stat (AFuncCall _fn) =+ (sem_Stat_AFuncCall (sem_PrefixExp _fn))+sem_Stat (ALabel _lbl) =+ (sem_Stat_ALabel _lbl)+sem_Stat (ABreak) =+ (sem_Stat_ABreak)+sem_Stat (AContinue) =+ (sem_Stat_AContinue)+sem_Stat (AGoto _lbl) =+ (sem_Stat_AGoto _lbl)+sem_Stat (ADo _body) =+ (sem_Stat_ADo (sem_Block _body))+sem_Stat (AWhile _cond _body) =+ (sem_Stat_AWhile (sem_MExpr _cond) (sem_Block _body))+sem_Stat (ARepeat _body _cond) =+ (sem_Stat_ARepeat (sem_Block _body) (sem_MExpr _cond))+sem_Stat (AIf _cond _body _elifs _els) =+ (sem_Stat_AIf (sem_MExpr _cond) (sem_Block _body) (sem_ElseIfList _elifs) (sem_Else _els))+sem_Stat (ANFor _var _val _to _step _body) =+ (sem_Stat_ANFor _var (sem_MExpr _val) (sem_MExpr _to) (sem_MExpr _step) (sem_Block _body))+sem_Stat (AGFor _vars _vals _body) =+ (sem_Stat_AGFor _vars (sem_MExprList _vals) (sem_Block _body))+sem_Stat (AFunc _name _args _body) =+ (sem_Stat_AFunc (sem_FuncName _name) _args (sem_Block _body))+sem_Stat (ALocFunc _name _args _body) =+ (sem_Stat_ALocFunc (sem_FuncName _name) _args (sem_Block _body))+-- semantic domain+type T_Stat = ([MToken]) ->+ Bool ->+ Int ->+ Bool ->+ PrettyPrintConfig ->+ Region ->+ Bool ->+ ( ([MToken]),Stat,Bool,Bool,Doc,Bool)+data Inh_Stat = Inh_Stat {comments_Inh_Stat :: ([MToken]),forceMultiline_Inh_Stat :: Bool,indent_Inh_Stat :: Int,isLastStatement_Inh_Stat :: Bool,ppconf_Inh_Stat :: PrettyPrintConfig,statRegion_Inh_Stat :: Region,wouldBeAmbiguousWithoutSemicolon_Inh_Stat :: Bool}+data Syn_Stat = Syn_Stat {comments_Syn_Stat :: ([MToken]),copy_Syn_Stat :: Stat,endsWithPrefixExpression_Syn_Stat :: Bool,isMultiline_Syn_Stat :: Bool,pretty_Syn_Stat :: Doc,startsWithExprPrefixExpression_Syn_Stat :: Bool}+wrap_Stat :: T_Stat ->+ Inh_Stat ->+ Syn_Stat+wrap_Stat sem (Inh_Stat _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIstatRegion _lhsIwouldBeAmbiguousWithoutSemicolon) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIisLastStatement _lhsIppconf _lhsIstatRegion _lhsIwouldBeAmbiguousWithoutSemicolon+ in (Syn_Stat _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression))+sem_Stat_Def :: T_VarsList ->+ T_Stat+sem_Stat_Def vars_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _varsOcomments :: ([MToken])+ _varsOforceMultiline :: Bool+ _varsOindent :: Int+ _varsOppconf :: PrettyPrintConfig+ _varsIcomments :: ([MToken])+ _varsIcopy :: VarsList+ _varsIendsWithPrefixExpression :: Bool+ _varsIexprPretty :: Doc+ _varsIisDefined :: Bool+ _varsIisLast :: Bool+ _varsIisMultiline :: Bool+ _varsIpretty :: Doc+ _varsIstartsWithExprPrefixExpression :: Bool+ _varsIvarPretty :: Doc+ _lhsOpretty =+ ({-# LINE 642 "src/GLua/AG/PrettyPrint.ag" #-}+ _varsIpretty <> _semicolon+ {-# LINE 6541 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 643 "src/GLua/AG/PrettyPrint.ag" #-}+ _varsIstartsWithExprPrefixExpression+ {-# LINE 6546 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 644 "src/GLua/AG/PrettyPrint.ag" #-}+ _varsIendsWithPrefixExpression+ {-# LINE 6551 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 645 "src/GLua/AG/PrettyPrint.ag" #-}+ _varsIisMultiline+ {-# LINE 6556 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _semicolon =+ ({-# LINE 646 "src/GLua/AG/PrettyPrint.ag" #-}+ if semicolons _lhsIppconf || _lhsIwouldBeAmbiguousWithoutSemicolon+ then zchr ';'+ else empty+ {-# LINE 6563 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ Def _varsIcopy+ {-# LINE 6568 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 6573 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _varsIcomments+ {-# LINE 6578 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _varsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6583 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _varsOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 6588 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _varsOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 6593 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _varsOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 6598 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _varsIcomments,_varsIcopy,_varsIendsWithPrefixExpression,_varsIexprPretty,_varsIisDefined,_varsIisLast,_varsIisMultiline,_varsIpretty,_varsIstartsWithExprPrefixExpression,_varsIvarPretty) =+ vars_ _varsOcomments _varsOforceMultiline _varsOindent _varsOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_LocDef :: T_VarsList ->+ T_Stat+sem_Stat_LocDef vars_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _varsOcomments :: ([MToken])+ _varsOforceMultiline :: Bool+ _varsOindent :: Int+ _varsOppconf :: PrettyPrintConfig+ _varsIcomments :: ([MToken])+ _varsIcopy :: VarsList+ _varsIendsWithPrefixExpression :: Bool+ _varsIexprPretty :: Doc+ _varsIisDefined :: Bool+ _varsIisLast :: Bool+ _varsIisMultiline :: Bool+ _varsIpretty :: Doc+ _varsIstartsWithExprPrefixExpression :: Bool+ _varsIvarPretty :: Doc+ _lhsOpretty =+ ({-# LINE 651 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "local" <-> _varsIpretty <> _semicolon+ {-# LINE 6636 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 652 "src/GLua/AG/PrettyPrint.ag" #-}+ _varsIstartsWithExprPrefixExpression+ {-# LINE 6641 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 653 "src/GLua/AG/PrettyPrint.ag" #-}+ _varsIendsWithPrefixExpression+ {-# LINE 6646 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 654 "src/GLua/AG/PrettyPrint.ag" #-}+ _varsIisMultiline+ {-# LINE 6651 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _semicolon =+ ({-# LINE 655 "src/GLua/AG/PrettyPrint.ag" #-}+ if semicolons _lhsIppconf || _lhsIwouldBeAmbiguousWithoutSemicolon+ then zchr ';'+ else empty+ {-# LINE 6658 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ LocDef _varsIcopy+ {-# LINE 6663 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 6668 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _varsIcomments+ {-# LINE 6673 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _varsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6678 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _varsOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 6683 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _varsOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 6688 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _varsOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 6693 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _varsIcomments,_varsIcopy,_varsIendsWithPrefixExpression,_varsIexprPretty,_varsIisDefined,_varsIisLast,_varsIisMultiline,_varsIpretty,_varsIstartsWithExprPrefixExpression,_varsIvarPretty) =+ vars_ _varsOcomments _varsOforceMultiline _varsOindent _varsOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_AFuncCall :: T_PrefixExp ->+ T_Stat+sem_Stat_AFuncCall fn_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _fnOparentOperatorPrecedence :: OperatorLevel+ _fnOparentOperatorAssociative :: Bool+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _fnOcomments :: ([MToken])+ _fnOforceMultiline :: Bool+ _fnOindent :: Int+ _fnOppconf :: PrettyPrintConfig+ _fnIcomments :: ([MToken])+ _fnIcopy :: PrefixExp+ _fnIisAssociative :: Bool+ _fnIisLiteral :: Bool+ _fnIisMultiline :: Bool+ _fnIprecedence :: OperatorLevel+ _fnIpretty :: Doc+ _fnIstartsWithExprPrefixExpression :: Bool+ _lhsOpretty =+ ({-# LINE 660 "src/GLua/AG/PrettyPrint.ag" #-}+ _fnIpretty <> _semicolon+ {-# LINE 6731 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 661 "src/GLua/AG/PrettyPrint.ag" #-}+ _fnIisMultiline+ {-# LINE 6736 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _semicolon =+ ({-# LINE 662 "src/GLua/AG/PrettyPrint.ag" #-}+ if semicolons _lhsIppconf then zchr ';' else empty+ {-# LINE 6741 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 663 "src/GLua/AG/PrettyPrint.ag" #-}+ _fnIstartsWithExprPrefixExpression+ {-# LINE 6746 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 664 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 6751 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fnOparentOperatorPrecedence =+ ({-# LINE 665 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 6756 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fnOparentOperatorAssociative =+ ({-# LINE 666 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 6761 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AFuncCall _fnIcopy+ {-# LINE 6766 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 6771 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _fnIcomments+ {-# LINE 6776 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fnOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6781 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fnOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 6786 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fnOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 6791 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _fnOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 6796 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _fnIcomments,_fnIcopy,_fnIisAssociative,_fnIisLiteral,_fnIisMultiline,_fnIprecedence,_fnIpretty,_fnIstartsWithExprPrefixExpression) =+ fn_ _fnOcomments _fnOforceMultiline _fnOindent _fnOparentOperatorAssociative _fnOparentOperatorPrecedence _fnOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_ALabel :: MToken ->+ T_Stat+sem_Stat_ALabel lbl_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 668 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "::"+ <> _whitespace+ <> tok lbl_+ <> _whitespace+ <> zeroWidthText "::"+ {-# LINE 6824 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 674 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6829 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 675 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6834 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 676 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6839 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _whitespace =+ ({-# LINE 677 "src/GLua/AG/PrettyPrint.ag" #-}+ if spaceAfterLabel _lhsIppconf then zeroWidthText " " else empty+ {-# LINE 6844 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ALabel lbl_+ {-# LINE 6849 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 6854 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6859 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_ABreak :: T_Stat+sem_Stat_ABreak =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 679 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "break" <> _semicolon+ {-# LINE 6880 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 680 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6885 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 681 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6890 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 682 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6895 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _semicolon =+ ({-# LINE 683 "src/GLua/AG/PrettyPrint.ag" #-}+ if semicolons _lhsIppconf then zchr ';' else empty+ {-# LINE 6900 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ABreak+ {-# LINE 6905 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 6910 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6915 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_AContinue :: T_Stat+sem_Stat_AContinue =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 685 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "continue" <> _semicolon+ {-# LINE 6936 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 686 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6941 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 687 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6946 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 688 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6951 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _semicolon =+ ({-# LINE 689 "src/GLua/AG/PrettyPrint.ag" #-}+ if semicolons _lhsIppconf then zchr ';' else empty+ {-# LINE 6956 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AContinue+ {-# LINE 6961 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 6966 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 6971 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_AGoto :: MToken ->+ T_Stat+sem_Stat_AGoto lbl_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 691 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "goto" <-> tok lbl_ <> _semicolon+ {-# LINE 6993 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 692 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 6998 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 693 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7003 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 694 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7008 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _semicolon =+ ({-# LINE 695 "src/GLua/AG/PrettyPrint.ag" #-}+ if semicolons _lhsIppconf then zchr ';' else empty+ {-# LINE 7013 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AGoto lbl_+ {-# LINE 7018 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 7023 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 7028 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_ADo :: T_Block ->+ T_Stat+sem_Stat_ADo body_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOisMultiline :: Bool+ _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _bodyOindent :: Int+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _bodyOcomments :: ([MToken])+ _bodyOforceMultiline :: Bool+ _bodyOppconf :: PrettyPrintConfig+ _bodyOstatRegion :: Region+ _bodyIcomments :: ([MToken])+ _bodyIcopy :: Block+ _bodyIisMultiline :: Bool+ _bodyIpretty :: Doc+ _bodyIstatementCount :: Int+ _lhsOisMultiline =+ ({-# LINE 697 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7060 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 698 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "do"+ $+$ _bodyIpretty+ $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")+ {-# LINE 7067 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 702 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7072 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 703 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7077 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOindent =+ ({-# LINE 704 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + 1+ {-# LINE 7082 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ADo _bodyIcopy+ {-# LINE 7087 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 7092 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIcomments+ {-# LINE 7097 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 7102 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7107 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7112 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 7117 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _bodyIcomments,_bodyIcopy,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =+ body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_AWhile :: T_MExpr ->+ T_Block ->+ T_Stat+sem_Stat_AWhile cond_ body_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOisMultiline :: Bool+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _condOparentOperatorPrecedence :: OperatorLevel+ _condOparentOperatorAssociative :: Bool+ _lhsOpretty :: Doc+ _bodyOindent :: Int+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _condOcomments :: ([MToken])+ _condOforceMultiline :: Bool+ _condOindent :: Int+ _condOppconf :: PrettyPrintConfig+ _bodyOcomments :: ([MToken])+ _bodyOforceMultiline :: Bool+ _bodyOppconf :: PrettyPrintConfig+ _bodyOstatRegion :: Region+ _condIcomments :: ([MToken])+ _condIcopy :: MExpr+ _condIendsWithPrefixExpression :: Bool+ _condIisAssociative :: Bool+ _condIisLiteral :: Bool+ _condIisMultiline :: Bool+ _condIpos :: Region+ _condIprecedence :: OperatorLevel+ _condIpretty :: Doc+ _bodyIcomments :: ([MToken])+ _bodyIcopy :: Block+ _bodyIisMultiline :: Bool+ _bodyIpretty :: Doc+ _bodyIstatementCount :: Int+ _lhsOisMultiline =+ ({-# LINE 706 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7167 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 707 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7172 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 708 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7177 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOparentOperatorPrecedence =+ ({-# LINE 709 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 7182 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOparentOperatorAssociative =+ ({-# LINE 710 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7187 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 711 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "while"+ <-> _condIpretty+ <-> zeroWidthText "do"+ $+$ _bodyIpretty+ $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")+ {-# LINE 7196 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOindent =+ ({-# LINE 717 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + 1+ {-# LINE 7201 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AWhile _condIcopy _bodyIcopy+ {-# LINE 7206 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 7211 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIcomments+ {-# LINE 7216 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 7221 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7226 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 7231 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7236 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _condIcomments+ {-# LINE 7241 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7246 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7251 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 7256 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _condIcomments,_condIcopy,_condIendsWithPrefixExpression,_condIisAssociative,_condIisLiteral,_condIisMultiline,_condIpos,_condIprecedence,_condIpretty) =+ cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf+ ( _bodyIcomments,_bodyIcopy,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =+ body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_ARepeat :: T_Block ->+ T_MExpr ->+ T_Stat+sem_Stat_ARepeat body_ cond_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _bodyOindent :: Int+ _condOparentOperatorPrecedence :: OperatorLevel+ _condOparentOperatorAssociative :: Bool+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _bodyOcomments :: ([MToken])+ _bodyOforceMultiline :: Bool+ _bodyOppconf :: PrettyPrintConfig+ _bodyOstatRegion :: Region+ _condOcomments :: ([MToken])+ _condOforceMultiline :: Bool+ _condOindent :: Int+ _condOppconf :: PrettyPrintConfig+ _bodyIcomments :: ([MToken])+ _bodyIcopy :: Block+ _bodyIisMultiline :: Bool+ _bodyIpretty :: Doc+ _bodyIstatementCount :: Int+ _condIcomments :: ([MToken])+ _condIcopy :: MExpr+ _condIendsWithPrefixExpression :: Bool+ _condIisAssociative :: Bool+ _condIisLiteral :: Bool+ _condIisMultiline :: Bool+ _condIpos :: Region+ _condIprecedence :: OperatorLevel+ _condIpretty :: Doc+ _lhsOpretty =+ ({-# LINE 719 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "repeat"+ $+$ _bodyIpretty+ $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "until" <-> _condIpretty)+ {-# LINE 7310 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 723 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7315 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 724 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7320 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 725 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7325 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOindent =+ ({-# LINE 726 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + 1+ {-# LINE 7330 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOparentOperatorPrecedence =+ ({-# LINE 727 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 7335 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOparentOperatorAssociative =+ ({-# LINE 728 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7340 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ARepeat _bodyIcopy _condIcopy+ {-# LINE 7345 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 7350 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _condIcomments+ {-# LINE 7355 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 7360 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7365 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7370 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 7375 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIcomments+ {-# LINE 7380 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7385 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 7390 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7395 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _bodyIcomments,_bodyIcopy,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =+ body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion+ ( _condIcomments,_condIcopy,_condIendsWithPrefixExpression,_condIisAssociative,_condIisLiteral,_condIisMultiline,_condIpos,_condIprecedence,_condIpretty) =+ cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_AIf :: T_MExpr ->+ T_Block ->+ T_ElseIfList ->+ T_Else ->+ T_Stat+sem_Stat_AIf cond_ body_ elifs_ els_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _condOcomments :: ([MToken])+ _condOparentOperatorPrecedence :: OperatorLevel+ _condOparentOperatorAssociative :: Bool+ _bodyOindent :: Int+ _bodyOstatRegion :: Region+ _lhsOpretty :: Doc+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _lhsOisMultiline :: Bool+ _condOforceMultiline :: Bool+ _condOindent :: Int+ _condOppconf :: PrettyPrintConfig+ _bodyOcomments :: ([MToken])+ _bodyOforceMultiline :: Bool+ _bodyOppconf :: PrettyPrintConfig+ _elifsOcomments :: ([MToken])+ _elifsOforceMultiline :: Bool+ _elifsOindent :: Int+ _elifsOppconf :: PrettyPrintConfig+ _elsOcomments :: ([MToken])+ _elsOforceMultiline :: Bool+ _elsOindent :: Int+ _elsOppconf :: PrettyPrintConfig+ _elsOstatRegion :: Region+ _condIcomments :: ([MToken])+ _condIcopy :: MExpr+ _condIendsWithPrefixExpression :: Bool+ _condIisAssociative :: Bool+ _condIisLiteral :: Bool+ _condIisMultiline :: Bool+ _condIpos :: Region+ _condIprecedence :: OperatorLevel+ _condIpretty :: Doc+ _bodyIcomments :: ([MToken])+ _bodyIcopy :: Block+ _bodyIisMultiline :: Bool+ _bodyIpretty :: Doc+ _bodyIstatementCount :: Int+ _elifsIcomments :: ([MToken])+ _elifsIcopy :: ElseIfList+ _elifsIelsesExist :: Bool+ _elifsIisMultiline :: Bool+ _elifsIpos :: Region+ _elifsIpretty :: Doc+ _elsIcomments :: ([MToken])+ _elsIcopy :: Else+ _elsIelsesExist :: Bool+ _elsIisMultiline :: Bool+ _elsIpos :: Region+ _elsIpretty :: Doc+ _isMultiline =+ ({-# LINE 730 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ || _condIisMultiline+ || _bodyIisMultiline+ || _elifsIelsesExist+ || _elsIelsesExist+ {-# LINE 7474 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 736 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7479 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 737 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7484 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _singleLinePretty =+ ({-# LINE 738 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "if"+ <-> _condIpretty+ <-> zeroWidthText "then"+ <-> _bodyIpretty+ <-> zeroWidthText "end"+ <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterThen )+ {-# LINE 7494 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _multilinePretty =+ ({-# LINE 745 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "if"+ <-> _condIpretty+ <-> zeroWidthText "then"+ <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterThen )+ $+$ _bodyIpretty+ $+$ _elifsIpretty+ $+$ _elsIpretty+ $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")+ {-# LINE 7506 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfterThen =+ ({-# LINE 755 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `beforeOrOnLine` _condIpos) _lhsIcomments+ {-# LINE 7511 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOcomments =+ ({-# LINE 757 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfterThen+ {-# LINE 7516 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOparentOperatorPrecedence =+ ({-# LINE 759 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 7521 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOparentOperatorAssociative =+ ({-# LINE 760 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7526 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOindent =+ ({-# LINE 761 "src/GLua/AG/PrettyPrint.ag" #-}+ if _isMultiline then _lhsIindent + 1 else 0+ {-# LINE 7531 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOstatRegion =+ ({-# LINE 762 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion `upto` _elifsIpos `upto` _elsIpos+ {-# LINE 7536 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 763 "src/GLua/AG/PrettyPrint.ag" #-}+ if _isMultiline then _multilinePretty else _singleLinePretty+ {-# LINE 7541 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AIf _condIcopy _bodyIcopy _elifsIcopy _elsIcopy+ {-# LINE 7546 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 7551 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _elsIcomments+ {-# LINE 7556 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 266 "src/GLua/AG/PrettyPrint.ag" #-}+ _isMultiline+ {-# LINE 7561 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7566 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 7571 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _condOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7576 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _condIcomments+ {-# LINE 7581 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7586 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7591 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elifsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIcomments+ {-# LINE 7596 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elifsOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7601 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elifsOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 7606 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elifsOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7611 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _elifsIcomments+ {-# LINE 7616 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elsOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7621 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elsOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 7626 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elsOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7631 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _elsOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 7636 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _condIcomments,_condIcopy,_condIendsWithPrefixExpression,_condIisAssociative,_condIisLiteral,_condIisMultiline,_condIpos,_condIprecedence,_condIpretty) =+ cond_ _condOcomments _condOforceMultiline _condOindent _condOparentOperatorAssociative _condOparentOperatorPrecedence _condOppconf+ ( _bodyIcomments,_bodyIcopy,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =+ body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion+ ( _elifsIcomments,_elifsIcopy,_elifsIelsesExist,_elifsIisMultiline,_elifsIpos,_elifsIpretty) =+ elifs_ _elifsOcomments _elifsOforceMultiline _elifsOindent _elifsOppconf+ ( _elsIcomments,_elsIcopy,_elsIelsesExist,_elsIisMultiline,_elsIpos,_elsIpretty) =+ els_ _elsOcomments _elsOforceMultiline _elsOindent _elsOppconf _elsOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_ANFor :: MToken ->+ T_MExpr ->+ T_MExpr ->+ T_MExpr ->+ T_Block ->+ T_Stat+sem_Stat_ANFor var_ val_ to_ step_ body_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOisMultiline :: Bool+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOpretty :: Doc+ _valOcomments :: ([MToken])+ _valOparentOperatorPrecedence :: OperatorLevel+ _valOparentOperatorAssociative :: Bool+ _toOparentOperatorPrecedence :: OperatorLevel+ _toOparentOperatorAssociative :: Bool+ _stepOparentOperatorPrecedence :: OperatorLevel+ _stepOparentOperatorAssociative :: Bool+ _bodyOindent :: Int+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _valOforceMultiline :: Bool+ _valOindent :: Int+ _valOppconf :: PrettyPrintConfig+ _toOcomments :: ([MToken])+ _toOforceMultiline :: Bool+ _toOindent :: Int+ _toOppconf :: PrettyPrintConfig+ _stepOcomments :: ([MToken])+ _stepOforceMultiline :: Bool+ _stepOindent :: Int+ _stepOppconf :: PrettyPrintConfig+ _bodyOcomments :: ([MToken])+ _bodyOforceMultiline :: Bool+ _bodyOppconf :: PrettyPrintConfig+ _bodyOstatRegion :: Region+ _valIcomments :: ([MToken])+ _valIcopy :: MExpr+ _valIendsWithPrefixExpression :: Bool+ _valIisAssociative :: Bool+ _valIisLiteral :: Bool+ _valIisMultiline :: Bool+ _valIpos :: Region+ _valIprecedence :: OperatorLevel+ _valIpretty :: Doc+ _toIcomments :: ([MToken])+ _toIcopy :: MExpr+ _toIendsWithPrefixExpression :: Bool+ _toIisAssociative :: Bool+ _toIisLiteral :: Bool+ _toIisMultiline :: Bool+ _toIpos :: Region+ _toIprecedence :: OperatorLevel+ _toIpretty :: Doc+ _stepIcomments :: ([MToken])+ _stepIcopy :: MExpr+ _stepIendsWithPrefixExpression :: Bool+ _stepIisAssociative :: Bool+ _stepIisLiteral :: Bool+ _stepIisMultiline :: Bool+ _stepIpos :: Region+ _stepIprecedence :: OperatorLevel+ _stepIpretty :: Doc+ _bodyIcomments :: ([MToken])+ _bodyIcopy :: Block+ _bodyIisMultiline :: Bool+ _bodyIpretty :: Doc+ _bodyIstatementCount :: Int+ _lhsOisMultiline =+ ({-# LINE 765 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7725 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 766 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7730 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 767 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7735 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _step =+ ({-# LINE 768 "src/GLua/AG/PrettyPrint.ag" #-}+ case _stepIcopy of+ MExpr _ (ANumber "1") -> empty+ _ -> _comma <> _stepIpretty+ {-# LINE 7742 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 771 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "for"+ <-> tok var_+ <-> zchr '='+ <-> _valIpretty+ <> _comma+ <> _toIpretty+ <> _step+ <-> zeroWidthText "do"+ <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFor )+ $+$ _bodyIpretty+ $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")+ {-# LINE 7757 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _comma =+ ({-# LINE 783 "src/GLua/AG/PrettyPrint.ag" #-}+ (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)+ <> zchr ','+ <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)+ {-# LINE 7764 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfterFor =+ ({-# LINE 787 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `beforeOrOnLine` mpos var_) _lhsIcomments+ {-# LINE 7769 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valOcomments =+ ({-# LINE 789 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfterFor+ {-# LINE 7774 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valOparentOperatorPrecedence =+ ({-# LINE 790 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 7779 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valOparentOperatorAssociative =+ ({-# LINE 791 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7784 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _toOparentOperatorPrecedence =+ ({-# LINE 792 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 7789 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _toOparentOperatorAssociative =+ ({-# LINE 793 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7794 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _stepOparentOperatorPrecedence =+ ({-# LINE 794 "src/GLua/AG/PrettyPrint.ag" #-}+ TopLevelExpression+ {-# LINE 7799 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _stepOparentOperatorAssociative =+ ({-# LINE 795 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7804 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOindent =+ ({-# LINE 796 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + 1+ {-# LINE 7809 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ANFor var_ _valIcopy _toIcopy _stepIcopy _bodyIcopy+ {-# LINE 7814 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 7819 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIcomments+ {-# LINE 7824 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7829 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 7834 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7839 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _toOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _valIcomments+ {-# LINE 7844 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _toOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7849 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _toOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 7854 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _toOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7859 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _stepOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _toIcomments+ {-# LINE 7864 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _stepOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7869 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _stepOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 7874 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _stepOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7879 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _stepIcomments+ {-# LINE 7884 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 7889 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 7894 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 7899 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _valIcomments,_valIcopy,_valIendsWithPrefixExpression,_valIisAssociative,_valIisLiteral,_valIisMultiline,_valIpos,_valIprecedence,_valIpretty) =+ val_ _valOcomments _valOforceMultiline _valOindent _valOparentOperatorAssociative _valOparentOperatorPrecedence _valOppconf+ ( _toIcomments,_toIcopy,_toIendsWithPrefixExpression,_toIisAssociative,_toIisLiteral,_toIisMultiline,_toIpos,_toIprecedence,_toIpretty) =+ to_ _toOcomments _toOforceMultiline _toOindent _toOparentOperatorAssociative _toOparentOperatorPrecedence _toOppconf+ ( _stepIcomments,_stepIcopy,_stepIendsWithPrefixExpression,_stepIisAssociative,_stepIisLiteral,_stepIisMultiline,_stepIpos,_stepIprecedence,_stepIpretty) =+ step_ _stepOcomments _stepOforceMultiline _stepOindent _stepOparentOperatorAssociative _stepOparentOperatorPrecedence _stepOppconf+ ( _bodyIcomments,_bodyIcopy,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =+ body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_AGFor :: ([MToken]) ->+ T_MExprList ->+ T_Block ->+ T_Stat+sem_Stat_AGFor vars_ vals_ body_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOisMultiline :: Bool+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOpretty :: Doc+ _bodyOindent :: Int+ _valsOcomments :: ([MToken])+ _valsOforceMultiline :: Bool+ _valsOsomeElementsInListAreMultiline :: Bool+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _valsOindent :: Int+ _valsOppconf :: PrettyPrintConfig+ _bodyOcomments :: ([MToken])+ _bodyOforceMultiline :: Bool+ _bodyOppconf :: PrettyPrintConfig+ _bodyOstatRegion :: Region+ _valsIcomments :: ([MToken])+ _valsIcopy :: MExprList+ _valsIisAssociative :: Bool+ _valsIisLast :: Bool+ _valsIisMultiline :: Bool+ _valsIpos :: Region+ _valsIprecedence :: OperatorLevel+ _valsIpretty :: Doc+ _bodyIcomments :: ([MToken])+ _bodyIcopy :: Block+ _bodyIisMultiline :: Bool+ _bodyIpretty :: Doc+ _bodyIstatementCount :: Int+ _lhsOisMultiline =+ ({-# LINE 798 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 7954 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 799 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7959 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 800 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 7964 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 801 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "for"+ <-> printList tok (render _comma ) vars_+ <-> zeroWidthText "in"+ <-> _valsIpretty+ <-> zeroWidthText "do"+ <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFor )+ $+$ _bodyIpretty+ $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")+ {-# LINE 7976 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOindent =+ ({-# LINE 810 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + 1+ {-# LINE 7981 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _comma =+ ({-# LINE 811 "src/GLua/AG/PrettyPrint.ag" #-}+ (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)+ <> zchr ','+ <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)+ {-# LINE 7988 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfterFor =+ ({-# LINE 815 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `beforeOrOnLine` mpos (head vars_)) _lhsIcomments+ {-# LINE 7993 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valsOcomments =+ ({-# LINE 817 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfterFor+ {-# LINE 7998 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valsOforceMultiline =+ ({-# LINE 819 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8003 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valsOsomeElementsInListAreMultiline =+ ({-# LINE 820 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8008 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AGFor vars_ _valsIcopy _bodyIcopy+ {-# LINE 8013 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 8018 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIcomments+ {-# LINE 8023 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valsOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 8028 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _valsOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 8033 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _valsIcomments+ {-# LINE 8038 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 8043 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 8048 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 8053 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _valsIcomments,_valsIcopy,_valsIisAssociative,_valsIisLast,_valsIisMultiline,_valsIpos,_valsIprecedence,_valsIpretty) =+ vals_ _valsOcomments _valsOforceMultiline _valsOindent _valsOppconf _valsOsomeElementsInListAreMultiline+ ( _bodyIcomments,_bodyIcopy,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =+ body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_AFunc :: T_FuncName ->+ ([MToken]) ->+ T_Block ->+ T_Stat+sem_Stat_AFunc name_ args_ body_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOisMultiline :: Bool+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOpretty :: Doc+ _nameOcomments :: ([MToken])+ _bodyOindent :: Int+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _nameOindent :: Int+ _nameOppconf :: PrettyPrintConfig+ _bodyOcomments :: ([MToken])+ _bodyOforceMultiline :: Bool+ _bodyOppconf :: PrettyPrintConfig+ _bodyOstatRegion :: Region+ _nameIcomments :: ([MToken])+ _nameIcopy :: FuncName+ _nameIisMultiline :: Bool+ _nameIpos :: Region+ _nameIpretty :: Doc+ _bodyIcomments :: ([MToken])+ _bodyIcopy :: Block+ _bodyIisMultiline :: Bool+ _bodyIpretty :: Doc+ _bodyIstatementCount :: Int+ _lhsOisMultiline =+ ({-# LINE 822 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 8099 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 823 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8104 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 824 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8109 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 825 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "function"+ <-> _nameIpretty+ <> parens _lhsIppconf _emptyParams (printList tok (render _comma ) args_)+ <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFunc )+ $+$ _bodyIpretty+ $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")+ {-# LINE 8119 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfterFunc =+ ({-# LINE 832 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `beforeOrOnLine` _nameIpos) _lhsIcomments+ {-# LINE 8124 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _nameOcomments =+ ({-# LINE 834 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfterFunc+ {-# LINE 8129 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _emptyParams =+ ({-# LINE 835 "src/GLua/AG/PrettyPrint.ag" #-}+ toEmpty $ null args_+ {-# LINE 8134 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _comma =+ ({-# LINE 836 "src/GLua/AG/PrettyPrint.ag" #-}+ (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)+ <> zchr ','+ <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)+ {-# LINE 8141 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOindent =+ ({-# LINE 840 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + 1+ {-# LINE 8146 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AFunc _nameIcopy args_ _bodyIcopy+ {-# LINE 8151 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 8156 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIcomments+ {-# LINE 8161 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _nameOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 8166 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _nameOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 8171 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _nameIcomments+ {-# LINE 8176 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 8181 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 8186 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 8191 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _nameIcomments,_nameIcopy,_nameIisMultiline,_nameIpos,_nameIpretty) =+ name_ _nameOcomments _nameOindent _nameOppconf+ ( _bodyIcomments,_bodyIcopy,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =+ body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+sem_Stat_ALocFunc :: T_FuncName ->+ ([MToken]) ->+ T_Block ->+ T_Stat+sem_Stat_ALocFunc name_ args_ body_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIisLastStatement+ _lhsIppconf+ _lhsIstatRegion+ _lhsIwouldBeAmbiguousWithoutSemicolon ->+ (let _lhsOisMultiline :: Bool+ _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _nameOcomments :: ([MToken])+ _bodyOindent :: Int+ _lhsOcopy :: Stat+ _lhsOcomments :: ([MToken])+ _nameOindent :: Int+ _nameOppconf :: PrettyPrintConfig+ _bodyOcomments :: ([MToken])+ _bodyOforceMultiline :: Bool+ _bodyOppconf :: PrettyPrintConfig+ _bodyOstatRegion :: Region+ _nameIcomments :: ([MToken])+ _nameIcopy :: FuncName+ _nameIisMultiline :: Bool+ _nameIpos :: Region+ _nameIpretty :: Doc+ _bodyIcomments :: ([MToken])+ _bodyIcopy :: Block+ _bodyIisMultiline :: Bool+ _bodyIpretty :: Doc+ _bodyIstatementCount :: Int+ _lhsOisMultiline =+ ({-# LINE 842 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 8237 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOpretty =+ ({-# LINE 843 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "local function"+ <-> _nameIpretty+ <> parens _lhsIppconf _emptyParams (printList tok (render _comma ) args_)+ <-> renderSLComments _lhsIppconf _lhsIindent (fst _commentsAfterFunc )+ $+$ _bodyIpretty+ $+$ indent _lhsIppconf _lhsIindent (zeroWidthText "end")+ {-# LINE 8247 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 850 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8252 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 851 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8257 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _commentsAfterFunc =+ ({-# LINE 852 "src/GLua/AG/PrettyPrint.ag" #-}+ span (\(MToken pos _) -> pos `beforeOrOnLine` _nameIpos) _lhsIcomments+ {-# LINE 8262 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _nameOcomments =+ ({-# LINE 854 "src/GLua/AG/PrettyPrint.ag" #-}+ snd _commentsAfterFunc+ {-# LINE 8267 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _emptyParams =+ ({-# LINE 855 "src/GLua/AG/PrettyPrint.ag" #-}+ toEmpty $ null args_+ {-# LINE 8272 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _comma =+ ({-# LINE 856 "src/GLua/AG/PrettyPrint.ag" #-}+ (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)+ <> zchr ','+ <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)+ {-# LINE 8279 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOindent =+ ({-# LINE 860 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent + 1+ {-# LINE 8284 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ALocFunc _nameIcopy args_ _bodyIcopy+ {-# LINE 8289 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 8294 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _bodyIcomments+ {-# LINE 8299 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _nameOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 8304 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _nameOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 8309 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _nameIcomments+ {-# LINE 8314 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 8319 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 8324 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _bodyOstatRegion =+ ({-# LINE 330 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIstatRegion+ {-# LINE 8329 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _nameIcomments,_nameIcopy,_nameIisMultiline,_nameIpos,_nameIpretty) =+ name_ _nameOcomments _nameOindent _nameOppconf+ ( _bodyIcomments,_bodyIcopy,_bodyIisMultiline,_bodyIpretty,_bodyIstatementCount) =+ body_ _bodyOcomments _bodyOforceMultiline _bodyOindent _bodyOppconf _bodyOstatRegion+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression)))+-- UnOp --------------------------------------------------------+-- cata+sem_UnOp :: UnOp ->+ T_UnOp+sem_UnOp (UnMinus) =+ (sem_UnOp_UnMinus)+sem_UnOp (ANot) =+ (sem_UnOp_ANot)+sem_UnOp (AHash) =+ (sem_UnOp_AHash)+-- semantic domain+type T_UnOp = ([MToken]) ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),UnOp,Bool,Doc)+data Inh_UnOp = Inh_UnOp {comments_Inh_UnOp :: ([MToken]),indent_Inh_UnOp :: Int,ppconf_Inh_UnOp :: PrettyPrintConfig}+data Syn_UnOp = Syn_UnOp {comments_Syn_UnOp :: ([MToken]),copy_Syn_UnOp :: UnOp,isMultiline_Syn_UnOp :: Bool,pretty_Syn_UnOp :: Doc}+wrap_UnOp :: T_UnOp ->+ Inh_UnOp ->+ Syn_UnOp+wrap_UnOp sem (Inh_UnOp _lhsIcomments _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty) = sem _lhsIcomments _lhsIindent _lhsIppconf+ in (Syn_UnOp _lhsOcomments _lhsOcopy _lhsOisMultiline _lhsOpretty))+sem_UnOp_UnMinus :: T_UnOp+sem_UnOp_UnMinus =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOcopy :: UnOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1197 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "-"+ {-# LINE 8371 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1198 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8376 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ UnMinus+ {-# LINE 8381 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 8386 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 8391 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))+sem_UnOp_ANot :: T_UnOp+sem_UnOp_ANot =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOcopy :: UnOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1200 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText (if cStyle _lhsIppconf then "!" else "not ")+ {-# LINE 8406 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1201 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8411 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ ANot+ {-# LINE 8416 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 8421 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 8426 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))+sem_UnOp_AHash :: T_UnOp+sem_UnOp_AHash =+ (\ _lhsIcomments+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOisMultiline :: Bool+ _lhsOcopy :: UnOp+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 1203 "src/GLua/AG/PrettyPrint.ag" #-}+ zeroWidthText "#"+ {-# LINE 8441 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 1204 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8446 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ AHash+ {-# LINE 8451 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 8456 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 8461 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOisMultiline,_lhsOpretty)))+-- VarsList ----------------------------------------------------+-- cata+sem_VarsList :: VarsList ->+ T_VarsList+sem_VarsList list =+ (Prelude.foldr sem_VarsList_Cons sem_VarsList_Nil (Prelude.map sem_Declaration list))+-- semantic domain+type T_VarsList = ([MToken]) ->+ Bool ->+ Int ->+ PrettyPrintConfig ->+ ( ([MToken]),VarsList,Bool,Doc,Bool,Bool,Bool,Doc,Bool,Doc)+data Inh_VarsList = Inh_VarsList {comments_Inh_VarsList :: ([MToken]),forceMultiline_Inh_VarsList :: Bool,indent_Inh_VarsList :: Int,ppconf_Inh_VarsList :: PrettyPrintConfig}+data Syn_VarsList = Syn_VarsList {comments_Syn_VarsList :: ([MToken]),copy_Syn_VarsList :: VarsList,endsWithPrefixExpression_Syn_VarsList :: Bool,exprPretty_Syn_VarsList :: Doc,isDefined_Syn_VarsList :: Bool,isLast_Syn_VarsList :: Bool,isMultiline_Syn_VarsList :: Bool,pretty_Syn_VarsList :: Doc,startsWithExprPrefixExpression_Syn_VarsList :: Bool,varPretty_Syn_VarsList :: Doc}+wrap_VarsList :: T_VarsList ->+ Inh_VarsList ->+ Syn_VarsList+wrap_VarsList sem (Inh_VarsList _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf) =+ (let ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOexprPretty,_lhsOisDefined,_lhsOisLast,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOvarPretty) = sem _lhsIcomments _lhsIforceMultiline _lhsIindent _lhsIppconf+ in (Syn_VarsList _lhsOcomments _lhsOcopy _lhsOendsWithPrefixExpression _lhsOexprPretty _lhsOisDefined _lhsOisLast _lhsOisMultiline _lhsOpretty _lhsOstartsWithExprPrefixExpression _lhsOvarPretty))+sem_VarsList_Cons :: T_Declaration ->+ T_VarsList ->+ T_VarsList+sem_VarsList_Cons hd_ tl_ =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisLast :: Bool+ _lhsOexprPretty :: Doc+ _lhsOisDefined :: Bool+ _lhsOvarPretty :: Doc+ _lhsOcopy :: VarsList+ _lhsOcomments :: ([MToken])+ _hdOcomments :: ([MToken])+ _hdOforceMultiline :: Bool+ _hdOindent :: Int+ _hdOppconf :: PrettyPrintConfig+ _tlOcomments :: ([MToken])+ _tlOforceMultiline :: Bool+ _tlOindent :: Int+ _tlOppconf :: PrettyPrintConfig+ _hdIcomments :: ([MToken])+ _hdIcopy :: Declaration+ _hdIendsWithPrefixExpression :: Bool+ _hdIexprPretty :: Doc+ _hdIisDefined :: Bool+ _hdIisMultiline :: Bool+ _hdIpretty :: Doc+ _hdIstartsWithExprPrefixExpression :: Bool+ _hdIvarPretty :: Doc+ _tlIcomments :: ([MToken])+ _tlIcopy :: VarsList+ _tlIendsWithPrefixExpression :: Bool+ _tlIexprPretty :: Doc+ _tlIisDefined :: Bool+ _tlIisLast :: Bool+ _tlIisMultiline :: Bool+ _tlIpretty :: Doc+ _tlIstartsWithExprPrefixExpression :: Bool+ _tlIvarPretty :: Doc+ _lhsOpretty =+ ({-# LINE 532 "src/GLua/AG/PrettyPrint.ag" #-}+ _varPretty+ <-> if _isDefined then zchr '=' <-> _exprPretty else empty+ {-# LINE 8533 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 535 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIstartsWithExprPrefixExpression+ {-# LINE 8538 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 536 "src/GLua/AG/PrettyPrint.ag" #-}+ if _tlIisDefined then _tlIendsWithPrefixExpression else _hdIendsWithPrefixExpression+ {-# LINE 8543 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 543 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIisMultiline || _tlIisMultiline+ {-# LINE 8548 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _isDefined =+ ({-# LINE 544 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIisDefined || _tlIisDefined+ {-# LINE 8553 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _varPretty =+ ({-# LINE 545 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIvarPretty+ <> (if _tlIisLast then empty else _comma )+ <> _tlIvarPretty+ {-# LINE 8560 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _exprPretty =+ ({-# LINE 549 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIexprPretty+ <> (if not _tlIisLast && _tlIisDefined then _comma else empty)+ <> _tlIexprPretty+ {-# LINE 8567 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _comma =+ ({-# LINE 553 "src/GLua/AG/PrettyPrint.ag" #-}+ (if spaceBeforeComma _lhsIppconf then zchr ' ' else empty)+ <> zchr ','+ <> (if spaceAfterComma _lhsIppconf then zchr ' ' else empty)+ {-# LINE 8574 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLast =+ ({-# LINE 557 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8579 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOexprPretty =+ ({-# LINE 288 "src/GLua/AG/PrettyPrint.ag" #-}+ _exprPretty+ {-# LINE 8584 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisDefined =+ ({-# LINE 291 "src/GLua/AG/PrettyPrint.ag" #-}+ _isDefined+ {-# LINE 8589 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOvarPretty =+ ({-# LINE 287 "src/GLua/AG/PrettyPrint.ag" #-}+ _varPretty+ {-# LINE 8594 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 8599 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 8604 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _tlIcomments+ {-# LINE 8609 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 8614 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 8619 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 8624 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _hdOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 8629 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _hdIcomments+ {-# LINE 8634 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOforceMultiline =+ ({-# LINE 363 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIforceMultiline+ {-# LINE 8639 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOindent =+ ({-# LINE 265 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIindent+ {-# LINE 8644 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _tlOppconf =+ ({-# LINE 267 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIppconf+ {-# LINE 8649 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ ( _hdIcomments,_hdIcopy,_hdIendsWithPrefixExpression,_hdIexprPretty,_hdIisDefined,_hdIisMultiline,_hdIpretty,_hdIstartsWithExprPrefixExpression,_hdIvarPretty) =+ hd_ _hdOcomments _hdOforceMultiline _hdOindent _hdOppconf+ ( _tlIcomments,_tlIcopy,_tlIendsWithPrefixExpression,_tlIexprPretty,_tlIisDefined,_tlIisLast,_tlIisMultiline,_tlIpretty,_tlIstartsWithExprPrefixExpression,_tlIvarPretty) =+ tl_ _tlOcomments _tlOforceMultiline _tlOindent _tlOppconf+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOexprPretty,_lhsOisDefined,_lhsOisLast,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOvarPretty)))+sem_VarsList_Nil :: T_VarsList+sem_VarsList_Nil =+ (\ _lhsIcomments+ _lhsIforceMultiline+ _lhsIindent+ _lhsIppconf ->+ (let _lhsOpretty :: Doc+ _lhsOstartsWithExprPrefixExpression :: Bool+ _lhsOendsWithPrefixExpression :: Bool+ _lhsOisMultiline :: Bool+ _lhsOisLast :: Bool+ _lhsOexprPretty :: Doc+ _lhsOisDefined :: Bool+ _lhsOvarPretty :: Doc+ _lhsOcopy :: VarsList+ _lhsOcomments :: ([MToken])+ _lhsOpretty =+ ({-# LINE 559 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 8675 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOstartsWithExprPrefixExpression =+ ({-# LINE 560 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8680 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOendsWithPrefixExpression =+ ({-# LINE 561 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8685 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisMultiline =+ ({-# LINE 562 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8690 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisLast =+ ({-# LINE 563 "src/GLua/AG/PrettyPrint.ag" #-}+ True+ {-# LINE 8695 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOexprPretty =+ ({-# LINE 288 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 8700 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOisDefined =+ ({-# LINE 291 "src/GLua/AG/PrettyPrint.ag" #-}+ False+ {-# LINE 8705 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOvarPretty =+ ({-# LINE 287 "src/GLua/AG/PrettyPrint.ag" #-}+ empty+ {-# LINE 8710 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _copy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ []+ {-# LINE 8715 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcopy =+ ({-# LINE 268 "src/GLua/AG/PrettyPrint.ag" #-}+ _copy+ {-# LINE 8720 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ _lhsOcomments =+ ({-# LINE 315 "src/GLua/AG/PrettyPrint.ag" #-}+ _lhsIcomments+ {-# LINE 8725 "src/GLua/AG/PrettyPrint.hs" #-}+ )+ in ( _lhsOcomments,_lhsOcopy,_lhsOendsWithPrefixExpression,_lhsOexprPretty,_lhsOisDefined,_lhsOisLast,_lhsOisMultiline,_lhsOpretty,_lhsOstartsWithExprPrefixExpression,_lhsOvarPretty)))
src/GLua/AG/Token.hs view
@@ -1,90 +1,81 @@++ {-# LANGUAGE DeriveGeneric #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-}---- UUAGC 0.9.55 (src/GLua/AG/Token.ag)+-- UUAGC 0.9.53.1 (src/GLua/AG/Token.ag) module GLua.AG.Token where {-# LINE 9 "src/GLua/AG/Token.ag" #-} import GHC.Generics-import Text.ParserCombinators.UU.BasicInstances hiding (pos)+import GLua.Position {-# LINE 13 "src/GLua/AG/Token.hs" #-} -- MToken ------------------------------------------------------ data MToken = MToken !(Region) !(Token)- -- MTokenList -------------------------------------------------- type MTokenList = [MToken]---- Region -------------------------------------------------------data Region = Region !(LineColPos) !(LineColPos)- deriving (Generic, Show)- -- Token --------------------------------------------------------data Token- = Whitespace !(String)- | DashComment !(String)- | DashBlockComment !(Int) !(String)- | SlashComment !(String)- | SlashBlockComment !(String)- | Semicolon- | TNumber !(String)- | DQString !(String)- | SQString !(String)- | MLString !(String)- | TTrue- | TFalse- | Nil- | VarArg- | Plus- | Minus- | Multiply- | Divide- | Modulus- | Power- | TEq- | TNEq- | TCNEq- | TLEQ- | TGEQ- | TLT- | TGT- | Equals- | Concatenate- | Colon- | Dot- | Comma- | Hash- | Not- | CNot- | And- | CAnd- | Or- | COr- | Function- | Local- | If- | Then- | Elseif- | Else- | For- | In- | Do- | While- | Until- | Repeat- | Continue- | Break- | Return- | End- | LRound- | RRound- | LCurly- | RCurly- | LSquare- | RSquare- | Label !(String) !(String) !(String)- | Identifier !(String)- deriving (Eq, Generic, Ord)---- TokenList ----------------------------------------------------type TokenList = [Token]+data Token = Whitespace !(String)+ | DashComment !(String)+ | DashBlockComment !(Int) !(String)+ | SlashComment !(String)+ | SlashBlockComment !(String)+ | Semicolon+ | TNumber !(String)+ | DQString !(String)+ | SQString !(String)+ | MLString !(String)+ | TTrue+ | TFalse+ | Nil+ | VarArg+ | Plus+ | Minus+ | Multiply+ | Divide+ | Modulus+ | Power+ | TEq+ | TNEq+ | TCNEq+ | TLEQ+ | TGEQ+ | TLT+ | TGT+ | Equals+ | Concatenate+ | Colon+ | Dot+ | Comma+ | Hash+ | Not+ | CNot+ | And+ | CAnd+ | Or+ | COr+ | Function+ | Local+ | If+ | Then+ | Elseif+ | Else+ | For+ | In+ | Do+ | While+ | Until+ | Repeat+ | Continue+ | Break+ | Return+ | End+ | LRound+ | RRound+ | LCurly+ | RCurly+ | LSquare+ | RSquare+ | Label !(String) !(String) !(String)+ | Identifier !(String)+ deriving ( Eq,Generic,Ord)
src/GLua/Lexer.hs view
@@ -1,436 +1,350 @@-{-# LANGUAGE CPP #-}-{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Rank2Types #-}-{-# LANGUAGE NoMonomorphismRestriction #-} --- | Lex GLua into MTokens module GLua.Lexer where -import GLua.AG.Token (MToken (..), Region (..), Token (..))+import GLua.AG.Token (MToken (..), Token (..)) import Data.Char (ord)-import Text.ParserCombinators.UU (- ExtAlternative (opt, (<<|>)),- P,- micro,- pEnd,- pErrors,- pMany,- pPos,- pReturn,- pSome,+import GLua.Position (LineColPos (..), Region (..))+import Text.Parsec (+ ParseError,+ SourcePos,+ anyChar,+ char,+ digit,+ endOfLine,+ eof,+ getPosition,+ lookAhead,+ many,+ many1,+ manyTill,+ noneOf,+ oneOf,+ option,+ optionMaybe, parse,- (<$$>),- (<**>),- )-import Text.ParserCombinators.UU.BasicInstances (- Error,- Insertion (Insertion),- LineColPos (..),- Str,- createStr,- pMunch,- pSatisfy,- pSym,- pToken,+ satisfy,+ sourceColumn,+ sourceLine,+ space,+ string,+ try,+ (<?>),+ (<|>), )-import Text.ParserCombinators.UU.Utils (pDigit)+import Text.Parsec.Pos (newPos)+import Text.Parsec.String (Parser) --- | String parser that maintains positions.-type LParser a = P (Str Char String LineColPos) a+-- | Region start to SourcePos+rgStart2sp :: Region -> SourcePos+rgStart2sp (Region start _) = lcp2sp start --- | Whitespace parser that requires at least one whitespace character-parseWhitespace :: LParser String-parseWhitespace = pSome $ pSatisfy (`elem` " \r\n\t") (Insertion "Whitespace" ' ' 5)+-- | Region end to SourcePos+rgEnd2sp :: Region -> SourcePos+rgEnd2sp (Region _ end) = lcp2sp end --- | Whitespace parser that requires 0 or more whitespace characters-parseOptionalWhitespace :: LParser String-parseOptionalWhitespace = pMany $ pSatisfy (`elem` " \r\n\t") (Insertion "Whitespace" ' ' 5)+-- | SourcePos to region+sp2Rg :: SourcePos -> Region+sp2Rg sp = Region (sp2lcp sp) (sp2lcp sp) --- | Blanco parser. Parses anything. Used in parsing comments.-parseAnyChar :: LParser Char-parseAnyChar = pSatisfy (const True) (Insertion "Any character" 'y' 5)+-- | LineColPos to SourcePos+lcp2sp :: LineColPos -> SourcePos+lcp2sp (LineColPos l c _) = newPos "source.lua" (l + 1) (c + 1) +-- | SourcePos to LineColPos+sp2lcp :: SourcePos -> LineColPos+sp2lcp pos = LineColPos (sourceLine pos - 1) (sourceColumn pos - 1) 0++-- | Get the source position+pPos :: Parser LineColPos+pPos = sp2lcp <$> getPosition+ -- See luajit's src/lj_char.c and src/lj_char.h-pIdentifierCharacter :: LParser Char-pIdentifierCharacter = pSatisfy validChar (Insertion "Identifying character (letter, number, emoji)" 'a' 5)+pIdentifierCharacter :: Parser Char+pIdentifierCharacter = satisfy validChar where validChar :: Char -> Bool validChar c =- between c '0' '9'- || between c 'A' 'Z'+ cBetween c '0' '9'+ || cBetween c 'A' 'Z' || c == '_'- || between c 'a' 'z'+ || cBetween c 'a' 'z' || ord c >= 128 -pNonDigitIdentifierCharacter :: LParser Char-pNonDigitIdentifierCharacter = pSatisfy validChar (Insertion "Identifying character (letter, emoji)" 'a' 5)+pNonDigitIdentifierCharacter :: Parser Char+pNonDigitIdentifierCharacter = satisfy validChar where validChar :: Char -> Bool validChar c =- between c 'A' 'Z'+ cBetween c 'A' 'Z' || c == '_'- || between c 'a' 'z'+ || cBetween c 'a' 'z' || ord c >= 128 -between :: Char -> Char -> Char -> Bool-between c left right = c >= left && c <= right+cBetween :: Char -> Char -> Char -> Bool+cBetween c left right = c >= left && c <= right --- | Parses a C-style block comment.-parseCBlockComment :: LParser String-parseCBlockComment =- const ""- <$> pToken "*/"- <<|> (:)- <$> parseAnyChar- <*> parseCBlockComment+-- | Parse the string until the end. Used in parseLineComment among others.+pUntilEnd :: Parser String+pUntilEnd = manyTill anyChar (lookAhead (endOfLine <|> const '\n' <$> eof)) --- | Try to parse a block comment.--- Might actually return a single line Dash comment, because for example--- the following line is a line comment, rather than a block comment--- [===== <- missing the last '[' bracket.-parseBlockComment :: LParser Token-parseBlockComment = pToken "[" *> nested 0- where- -- The amount of =-signs in the string delimiter is n- nested :: Int -> LParser Token- nested n =- pToken "="- *> nested (n + 1)- <<|> DashBlockComment n- <$ pToken "["- <*> restString n- <<|> lineComment n- <$> pUntilEnd+-- | Whitespace parser that requires at least one whitespace character+parseWhitespace :: Parser String+parseWhitespace = many1 space <?> "whitespace" - -- Turns out we were describing a line comment all along, cheeky bastard!- -- (the last [ of the block comment start token is missing)- lineComment :: Int -> String -> Token- lineComment n str = DashComment $ '[' : replicate n '=' ++ str+-- | Whitespace parser that requires 0 or more whitespace characters+parseOptionalWhitespace :: Parser String+parseOptionalWhitespace = many space <?> "whitespace" - -- Right-recursive grammar. This part searches for the rest of the string until it finds the ]=^n] token- restString :: Int -> LParser String- restString n =- const ""- <$> pToken ("]" ++ replicate n '=' ++ "]")- <<|> (:)- <$> parseAnyChar- <*> restString n+-- | An escaped character of a single line string+-- Takes the delimiter of the string as parameter+escapedStringChar :: Char -> Parser String+escapedStringChar delim = (\escaped -> '\\' : escaped) <$ char '\\' <*> escapedChar <|> (: []) <$> noneOf ['\n', delim]+ where+ escapedChar = (:) <$> char 'z' <*> parseOptionalWhitespace <|> (: []) <$> anyChar --- | Parse the string until the end. Used in parseLineComment among others.-pUntilEnd :: LParser String-pUntilEnd = pMunch (\c -> c /= '\n' && c /= '\r')+-- | The start of a nested string+-- Returns the amount of =-signs at the start of the nested string+startNestedString :: Parser String+startNestedString = do+ _ <- char '['+ depth <- many (char '=')+ _ <- char '['+ return depth --- | A comment that spans until the end of the line.-parseLineComment :: String -> LParser String-parseLineComment prefix = flip const <$> pToken prefix <*> pUntilEnd+-- | Parses a multiline string+-- returns the amount of =-signs in the string delimiter and the contents+nestedString :: String -> Parser String+nestedString depth = do+ let+ endStr = "]" ++ depth ++ "]"+ manyTill anyChar (try $ string endStr) --- | Parses a multiline string except for its first character (e.g. =[ string ]=])--- This is because the first [ could also just be parsed as a square bracket.-nestedString :: LParser String-nestedString = nested 0- where- -- The amount of =-signs in the string delimiter is n- nested :: Int -> LParser String- nested n =- (\str -> "=" ++ str)- <$ pToken "="- <*> nested (n + 1)- <<|> ('[' :)- <$ pToken "["- <*> restString n+-- | Parse Lua style comments+parseLuaComment :: Parser Token+parseLuaComment = do+ _ <- string "--"+ -- When a nested comment is started, it must be finished+ startNested <- optionMaybe (try startNestedString) - -- Right-recursive grammar. This part searches for the rest of the string until it finds the ]=^n] token- restString :: Int -> LParser String- restString n =- pToken ("]" ++ replicate n '=' ++ "]")- <<|> (:)- <$> parseAnyChar- <*> restString n+ case startNested of+ Nothing -> DashComment <$> pUntilEnd+ Just depth -> do+ contents <- nestedString depth+ return $ DashBlockComment (length depth) contents +-- | Parse C-Style comments+parseCComment :: Parser Token+parseCComment = do+ _ <- char '/'+ try (SlashComment <$ char '/' <*> pUntilEnd)+ <|> SlashBlockComment <$ char '*' <*> manyTill anyChar (try (string "*/") <|> const "\n" <$> eof)+ -- | Parse any kind of comment.-parseComment :: LParser Token-parseComment =- pToken "--"- <**> (const <$> (parseBlockComment <<|> DashComment <$> pUntilEnd)) -- Dash block comment and dash comment both start with "--"- <<|> pToken "/"- <**> ( const- <$> ( SlashBlockComment- <$ pToken "*"- <*> parseCBlockComment- <<|> SlashComment- <$> parseLineComment "/"- <<|> pReturn Divide -- The /-sign is here because it also starts with '/'- )- )+parseComment :: Parser Token+parseComment = parseLuaComment <|> parseCComment <?> "Comment" --- | Parse single line strings e.g. "sdf", 'werf'.-parseLineString :: Char -> LParser String-parseLineString c = pSym c *> innerString- where- innerString :: LParser String- innerString =- pSym '\\'- <**> ((\c' str esc -> esc : c' ++ str) <$> escapeSequence <*> innerString) -- Escaped character in string always starts with backslash- <<|> const ""- <$> pSym c- <<|> (:)- <$> pNoNewline- <*> innerString -- the end of the string- -- the next character in the string- escapeSequence :: LParser String- escapeSequence = (:) <$> pSym 'z' <*> parseOptionalWhitespace <<|> (: []) <$> parseAnyChar+-- | Convert the result of the nestedString parser to a MultiLine string+nestedStringToMLString :: String -> String -> Token+nestedStringToMLString depth contents = MLString (showChar '[' . showString depth . showChar '[' . showString contents . showChar ']' . showString depth . showChar ']' $ "") - pNoNewline :: LParser Char- pNoNewline = pSatisfy (/= '\n') (Insertion "Anything but a newline" c 5)+-- | Parse single line strings e.g. "sdf", 'werf'.+parseLineString :: Char -> Parser String+parseLineString c = concat <$ char c <*> many (escapedStringChar c) <* char c -- | Single and multiline strings.-parseString :: LParser Token+parseString :: Parser Token parseString =- DQString- <$> parseLineString '"'- <<|> SQString- <$> parseLineString '\''- <<|>- -- Parse either a multiline string or just a bracket.- -- Placed here because they have the first token '[' in common- pSym '['- <**> ( (\_ -> MLString . (:) '[')- <$$> nestedString- <<|> const- <$> pReturn LSquare- )+ SQString <$> parseLineString '\''+ <|> DQString <$> parseLineString '"'+ <|> do+ depth <- startNestedString+ nestedStringToMLString depth <$> nestedString depth <?> "String" -- | Parse any kind of number.-parseNumber :: LParser Token-parseNumber = TNumber <$> ((++) <$> (pZeroPrefixedNumber <<|> pNumber) <*> (pLLULL <<|> opt parseNumberSuffix ""))+-- Except for numbers that start with a '.'. That's handled by parseDots to solve ambiguity.+parseNumber :: Parser Token+parseNumber = TNumber <$> ((++) <$> (pHexadecimal <|> pBinary <|> pNumber) <*> (pLLULL <|> option "" parseNumberSuffix)) <?> "Number" where- -- Numbers starting with 0 can be regular numbers, hexadecimals or binary- pZeroPrefixedNumber :: LParser String- pZeroPrefixedNumber =- pSym '0'- <**> ( (\hex _0 -> _0 : hex)- <$> pHexadecimal- <<|> (\bin _0 -> _0 : bin)- <$> pBinary- <<|> (\digits _0 -> _0 : digits)- <$> (pDecimal <<|> pNumber)- <<|> pure (: [])- )-- pNumber :: LParser String- pNumber = (++) <$> pSome pDigit <*> opt pDecimal ""+ pNumber :: Parser String+ pNumber = (++) <$> many1 digit <*> option "" pDecimal - pDecimal :: LParser String- pDecimal = (:) <$> pSym '.' <*> pMany pDigit+ pDecimal :: Parser String+ pDecimal = (:) <$> char '.' <*> many digit - pHexDecimal :: LParser String- pHexDecimal = (:) <$> pSym '.' <*> pMany pHex+ pHexDecimal :: Parser String+ pHexDecimal = (:) <$> char '.' <*> many pHex - pHexadecimal :: LParser String- pHexadecimal = (:) <$> (pSym 'x' <<|> pSym 'X') <*> ((++) <$> pSome pHex <*> opt pHexDecimal "")+ pHexadecimal :: Parser String+ pHexadecimal = (++) <$> (try (string "0x") <|> try (string "0X")) <*> ((++) <$> many1 pHex <*> option "" pHexDecimal) - pBinary :: LParser String- pBinary = (:) <$> (pSym 'b' <<|> pSym 'B') <*> ((++) <$> pSome pBin <*> opt pDecimal "")+ pHex :: Parser Char+ pHex = digit <|> oneOf ['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F'] - pHex :: LParser Char- pHex =- pDigit- <<|> pSym 'a'- <<|> pSym 'b'- <<|> pSym 'c'- <<|> pSym 'd'- <<|> pSym 'e'- <<|> pSym 'f'- <<|> pSym 'A'- <<|> pSym 'B'- <<|> pSym 'C'- <<|> pSym 'D'- <<|> pSym 'E'- <<|> pSym 'F'+ pBinary :: Parser String+ pBinary = (++) <$> (try (string "0b") <|> try (string "0B")) <*> ((++) <$> many1 pBin <*> option "" pDecimal) - pBin :: LParser Char- pBin = pSym '0' <<|> pSym '1'+ pBin :: Parser Char+ pBin = digit <|> oneOf ['0', '1'] -- LL/ULL suffix of a number, making it signed/unsigned int64 respectively -- http://luajit.org/ext_ffi_api.html#literals- pLLULL :: LParser String- pLLULL = pULL <<|> pLL+ pLLULL :: Parser String+ pLLULL = pULL <|> pLL - pLL :: LParser String- pLL = "LL" <$ (pSym 'L' <<|> pSym 'l') <* (pSym 'L' <<|> pSym 'l')+ pLL :: Parser String+ pLL = "LL" <$ oneOf ['L', 'l'] <* oneOf ['L', 'l'] - pULL :: LParser String- pULL = "ULL" <$ (pSym 'U' <<|> pSym 'u') <* pLL+ pULL :: Parser String+ pULL = "ULL" <$ oneOf ['U', 'u'] <* pLL -- Parse the suffix of a number-parseNumberSuffix :: LParser String-parseNumberSuffix = imaginary <<|> extension+parseNumberSuffix :: Parser String+parseNumberSuffix = imaginary <|> extension where- imaginary = (: []) <$> (pSym 'i' <<|> pSym 'I')-+ imaginary = (: []) <$> oneOf ['i', 'I'] extension = (\e s d -> e : s ++ d)- <$> (pSym 'e' <<|> pSym 'E' <<|> pSym 'p' <<|> pSym 'P')- <*> opt (pToken "+" <<|> pToken "-") ""- <*> pSome pDigit+ <$> oneOf ['e', 'E', 'p', 'P']+ <*> option "" (string "+" <|> string "-")+ <*> many1 digit --- | Parse a keyword. Note: It must really a key/word/! This parser makes sure to return an identifier when--- it's actually an identifier that starts with that keyword.-parseKeyword :: Token -> String -> LParser Token-parseKeyword tok word =- pToken word- <**> ((\k -> Identifier . (++) k) <$$> pSome pIdentifierCharacter <<|> const <$> pReturn tok)+-- | Parse either a keyword or an identifier that starts with that keyword+parseKeyword :: Token -> String -> Parser Token+parseKeyword tok str =+ try+ ( do+ _ <- string str+ (\s -> Identifier (str ++ s)) <$> many1 (pIdentifierCharacter)+ <|> return tok+ <?> "Keyword "+ ++ str+ ) -- | Parse just an identifier.-parseIdentifier :: LParser String-parseIdentifier = (:) <$> pNonDigitIdentifierCharacter <*> pMany pIdentifierCharacter+parseIdentifier :: Parser String+parseIdentifier = (:) <$> pNonDigitIdentifierCharacter <*> many pIdentifierCharacter <?> "Identifier" -- | Parse a label.-parseLabel :: LParser Token+parseLabel :: Parser Token parseLabel = Label- <$ pToken "::"+ <$ string "::" <*> parseOptionalWhitespace <*> parseIdentifier <*> parseOptionalWhitespace- <* pToken "::"+ <* string "::"+ <?> "Label" --- | Parse anything to do with dots. Indexaction (.), concatenation (..) or varargs (...)-parseDots :: LParser Token-parseDots =- pToken "."- <**> ( -- A dot means it's either a VarArg (...), concatenation (..) or just a dot (.)- const- <$> ( pToken "."- <**> ( const VarArg- <$ pToken "."- <<|> const- <$> pReturn Concatenate- )- )- <<|> (\ds sfx dot -> TNumber $ dot ++ ds ++ sfx)- <$> pSome pDigit- <*> opt parseNumberSuffix ""- <<|> const- <$> pReturn Dot- )+-- | Parse anything to do with dots. Indexaction (.), concatenation (..), varargs (...) or numbers that start with a dot+parseDots :: Parser Token+parseDots = do+ _ <- char '.' -- first .+ try+ ( do+ _ <- char '.' -- second .+ try (VarArg <$ char '.')+ <|> return Concatenate -- third .+ )+ <|>+ -- try to parse a number that starts with a .+ try+ ( do+ nums <- many1 digit+ suffix <- option "" parseNumberSuffix+ return $ TNumber ('.' : (nums ++ suffix))+ )+ <|> return Dot -- | Parse any kind of token.-parseToken :: LParser Token+parseToken :: Parser Token parseToken =- parseComment- <<|>+ Whitespace <$> parseWhitespace+ <|> -- Constants- parseString- <<|> parseNumber- <<|> parseKeyword TTrue "true"- <<|> parseKeyword TFalse "false"- <<|> parseKeyword Nil "nil"- <<|> parseKeyword Not "not"- <<|> parseKeyword And "and"- <<|> parseKeyword Or "or"- <<|> parseKeyword Function "function"- <<|> parseKeyword Local "local"- <<|> parseKeyword If "if"- <<|> parseKeyword Then "then"- <<|> parseKeyword Elseif "elseif"- <<|> parseKeyword Else "else"- <<|> parseKeyword For "for"- <<|> parseKeyword In "in"- <<|> parseKeyword Do "do"- <<|> parseKeyword While "while"- <<|> parseKeyword Until "until"- <<|> parseKeyword Repeat "repeat"- <<|> parseKeyword Continue "continue"- <<|> parseKeyword Break "break"- <<|> parseKeyword Return "return"- <<|> parseKeyword End "end"- <<|> Identifier- <$> parseIdentifier- <<|> Semicolon- <$ pToken ";"- <<|> parseDots- <<|>- -- Operators- Plus- <$ pToken "+"- <<|> Minus- <$ pToken "-"- <<|> Multiply- <$ pToken "*"- <<|> Modulus- <$ pToken "%"- <<|> Power- <$ pToken "^"- <<|> TEq- <$ pToken "=="- <<|> Equals- <$ pToken "="- <<|> TNEq- <$ pToken "~="- <<|> TCNEq- <$ pToken "!="- <<|> CNot- <$ pToken "!"- <<|> TLEQ- <$ pToken "<="- <<|> TLT- <$ pToken "<"- <<|> TGEQ- <$ pToken ">="- <<|> TGT- <$ pToken ">"- <<|> parseLabel- <<|> Colon- <$ pToken ":"- <<|> Comma- <$ pToken ","- <<|> Hash- <$ pToken "#"- `micro` 10- <<|> CAnd -- Add micro cost to prevent conflict with parseHashBang- <$ pToken "&&"- <<|> COr- <$ pToken "||"- <<|> LRound- <$ pToken "("- <<|> RRound- <$ pToken ")"- <<|> LCurly- <$ pToken "{"- <<|> RCurly- <$ pToken "}"- <<|>- -- Other square bracket is parsed in parseString- RSquare- <$ pToken "]"- <<|> Whitespace- <$> parseWhitespace+ try parseString+ <|> parseNumber+ <|> parseKeyword TTrue "true"+ <|> parseKeyword TFalse "false"+ <|> parseKeyword Nil "nil"+ <|> parseKeyword Not "not"+ <|> parseKeyword And "and"+ <|> parseKeyword Or "or"+ <|> parseKeyword Function "function"+ <|> parseKeyword Local "local"+ <|> parseKeyword If "if"+ <|> parseKeyword Then "then"+ <|> parseKeyword Elseif "elseif"+ <|> parseKeyword Else "else"+ <|> parseKeyword For "for"+ <|> parseKeyword In "in"+ <|> parseKeyword Do "do"+ <|> parseKeyword While "while"+ <|> parseKeyword Until "until"+ <|> parseKeyword Repeat "repeat"+ <|> parseKeyword Continue "continue"+ <|> parseKeyword Break "break"+ <|> parseKeyword Return "return"+ <|> parseKeyword End "end"+ <|> Identifier <$> parseIdentifier+ <|> Semicolon <$ char ';'+ <|> parseDots+ <|> try parseComment+ <|>+ -- Operators+ Plus <$ string "+"+ <|> Minus <$ string "-"+ <|> Multiply <$ string "*"+ <|> Divide <$ string "/"+ <|> Modulus <$ string "%"+ <|> Power <$ string "^"+ <|> TEq <$ try (string "==")+ <|> Equals <$ string "="+ <|> TNEq <$ string "~="+ <|> TCNEq <$ try (string "!=")+ <|> CNot <$ string "!"+ <|> TLEQ <$ try (string "<=")+ <|> TLT <$ string "<"+ <|> TGEQ <$ try (string ">=")+ <|> TGT <$ string ">"+ <|> try parseLabel+ <|> Colon <$ string ":"+ <|> Comma <$ string ","+ <|> Hash <$ string "#"+ <|> CAnd <$ string "&&"+ <|> COr <$ string "||"+ <|> LRound <$ char '('+ <|> RRound <$ char ')'+ <|> LCurly <$ char '{'+ <|> RCurly <$ char '}'+ <|> LSquare <$ char '['+ <|> RSquare <$ char ']' -- | A thing of which the region is to be parsed-annotated :: (Region -> a -> b) -> LParser a -> LParser b+annotated :: (Region -> a -> b) -> Parser a -> Parser b annotated f p = (\s t e -> f (Region s e) t) <$> pPos <*> p <*> pPos -- | parse located MToken-parseMToken :: LParser MToken-parseMToken = annotated MToken parseToken+parseMToken :: Parser MToken+parseMToken =+ do+ start <- pPos+ tok <- parseToken+ end <- pPos + return $ MToken (Region start end) tok+ -- | Parse a list of tokens and turn them into MTokens.-parseTokens :: LParser [MToken]-parseTokens = pMany parseMToken+parseTokens :: Parser [MToken]+parseTokens = many parseMToken -- | Parse the potential #!comment on the first line -- Lua ignores the first line if it starts with #-parseHashBang :: LParser String-parseHashBang = opt (pToken "#" <* pUntilEnd) ""---- | Lex a string with a given lexer-lexFromString :: LParser a -> String -> (a, [Error LineColPos])-lexFromString p = parse ((,) <$> p <*> pErrors <* pEnd) . createStr (LineColPos 0 0 0)+parseHashBang :: Parser String+parseHashBang = option "" (char '#' *> pUntilEnd) --- | Parse a string into MTokens. Also returns parse errors.-execParseTokens :: String -> ([MToken], [Error LineColPos])-execParseTokens = parse ((,) <$ parseHashBang <*> parseTokens <*> pErrors <* pEnd) . createStr (LineColPos 0 0 0)+-- | Parse a string into MTokens.+execParseTokens :: String -> Either ParseError [MToken]+execParseTokens = parse (parseHashBang *> parseTokens <* eof) "input"
src/GLua/LineLimitParser.hs view
@@ -4,8 +4,8 @@ import Control.Applicative ((<|>)) import Control.Monad (void)-import GLua.AG.Token (Region (Region))-import GLua.PSLexer (pPos)+import GLua.Lexer (pPos)+import GLua.Position (Region (..)) import GLuaFixer.LintMessage (Issue (LineTooLong), LintMessage (..), Severity (LintWarning)) import Text.Parsec (endOfLine, eof, parse, satisfy, skipMany1) import Text.Parsec.String (Parser)
− src/GLua/PSLexer.hs
@@ -1,350 +0,0 @@-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE MultiParamTypeClasses #-}--module GLua.PSLexer where--import GLua.AG.Token (MToken (..), Region (..), Token (..))--import Data.Char (ord)-import Text.Parsec (- ParseError,- SourcePos,- anyChar,- char,- digit,- endOfLine,- eof,- getPosition,- lookAhead,- many,- many1,- manyTill,- noneOf,- oneOf,- option,- optionMaybe,- parse,- satisfy,- sourceColumn,- sourceLine,- space,- string,- try,- (<?>),- (<|>),- )-import Text.Parsec.Pos (newPos)-import Text.Parsec.String (Parser)-import Text.ParserCombinators.UU.BasicInstances (LineColPos (..))---- | Region start to SourcePos-rgStart2sp :: Region -> SourcePos-rgStart2sp (Region start _) = lcp2sp start---- | Region end to SourcePos-rgEnd2sp :: Region -> SourcePos-rgEnd2sp (Region _ end) = lcp2sp end---- | SourcePos to region-sp2Rg :: SourcePos -> Region-sp2Rg sp = Region (sp2lcp sp) (sp2lcp sp)---- | LineColPos to SourcePos-lcp2sp :: LineColPos -> SourcePos-lcp2sp (LineColPos l c _) = newPos "source.lua" (l + 1) (c + 1)---- | SourcePos to LineColPos-sp2lcp :: SourcePos -> LineColPos-sp2lcp pos = LineColPos (sourceLine pos - 1) (sourceColumn pos - 1) 0---- | Get the source position-pPos :: Parser LineColPos-pPos = sp2lcp <$> getPosition---- See luajit's src/lj_char.c and src/lj_char.h-pIdentifierCharacter :: Parser Char-pIdentifierCharacter = satisfy validChar- where- validChar :: Char -> Bool- validChar c =- cBetween c '0' '9'- || cBetween c 'A' 'Z'- || c == '_'- || cBetween c 'a' 'z'- || ord c >= 128--pNonDigitIdentifierCharacter :: Parser Char-pNonDigitIdentifierCharacter = satisfy validChar- where- validChar :: Char -> Bool- validChar c =- cBetween c 'A' 'Z'- || c == '_'- || cBetween c 'a' 'z'- || ord c >= 128--cBetween :: Char -> Char -> Char -> Bool-cBetween c left right = c >= left && c <= right---- | Parse the string until the end. Used in parseLineComment among others.-pUntilEnd :: Parser String-pUntilEnd = manyTill anyChar (lookAhead (endOfLine <|> const '\n' <$> eof))---- | Whitespace parser that requires at least one whitespace character-parseWhitespace :: Parser String-parseWhitespace = many1 space <?> "whitespace"---- | Whitespace parser that requires 0 or more whitespace characters-parseOptionalWhitespace :: Parser String-parseOptionalWhitespace = many space <?> "whitespace"---- | An escaped character of a single line string--- Takes the delimiter of the string as parameter-escapedStringChar :: Char -> Parser String-escapedStringChar delim = (\escaped -> '\\' : escaped) <$ char '\\' <*> escapedChar <|> (: []) <$> noneOf ['\n', delim]- where- escapedChar = (:) <$> char 'z' <*> parseOptionalWhitespace <|> (: []) <$> anyChar---- | The start of a nested string--- Returns the amount of =-signs at the start of the nested string-startNestedString :: Parser String-startNestedString = do- _ <- char '['- depth <- many (char '=')- _ <- char '['- return depth---- | Parses a multiline string--- returns the amount of =-signs in the string delimiter and the contents-nestedString :: String -> Parser String-nestedString depth = do- let- endStr = "]" ++ depth ++ "]"- manyTill anyChar (try $ string endStr)---- | Parse Lua style comments-parseLuaComment :: Parser Token-parseLuaComment = do- _ <- string "--"- -- When a nested comment is started, it must be finished- startNested <- optionMaybe (try startNestedString)-- case startNested of- Nothing -> DashComment <$> pUntilEnd- Just depth -> do- contents <- nestedString depth- return $ DashBlockComment (length depth) contents---- | Parse C-Style comments-parseCComment :: Parser Token-parseCComment = do- _ <- char '/'- try (SlashComment <$ char '/' <*> pUntilEnd)- <|> SlashBlockComment <$ char '*' <*> manyTill anyChar (try (string "*/") <|> const "\n" <$> eof)---- | Parse any kind of comment.-parseComment :: Parser Token-parseComment = parseLuaComment <|> parseCComment <?> "Comment"---- | Convert the result of the nestedString parser to a MultiLine string-nestedStringToMLString :: String -> String -> Token-nestedStringToMLString depth contents = MLString (showChar '[' . showString depth . showChar '[' . showString contents . showChar ']' . showString depth . showChar ']' $ "")---- | Parse single line strings e.g. "sdf", 'werf'.-parseLineString :: Char -> Parser String-parseLineString c = concat <$ char c <*> many (escapedStringChar c) <* char c---- | Single and multiline strings.-parseString :: Parser Token-parseString =- SQString <$> parseLineString '\''- <|> DQString <$> parseLineString '"'- <|> do- depth <- startNestedString- nestedStringToMLString depth <$> nestedString depth <?> "String"---- | Parse any kind of number.--- Except for numbers that start with a '.'. That's handled by parseDots to solve ambiguity.-parseNumber :: Parser Token-parseNumber = TNumber <$> ((++) <$> (pHexadecimal <|> pBinary <|> pNumber) <*> (pLLULL <|> option "" parseNumberSuffix)) <?> "Number"- where- pNumber :: Parser String- pNumber = (++) <$> many1 digit <*> option "" pDecimal-- pDecimal :: Parser String- pDecimal = (:) <$> char '.' <*> many digit-- pHexDecimal :: Parser String- pHexDecimal = (:) <$> char '.' <*> many pHex-- pHexadecimal :: Parser String- pHexadecimal = (++) <$> (try (string "0x") <|> try (string "0X")) <*> ((++) <$> many1 pHex <*> option "" pHexDecimal)-- pHex :: Parser Char- pHex = digit <|> oneOf ['a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F']-- pBinary :: Parser String- pBinary = (++) <$> (try (string "0b") <|> try (string "0B")) <*> ((++) <$> many1 pBin <*> option "" pDecimal)-- pBin :: Parser Char- pBin = digit <|> oneOf ['0', '1']-- -- LL/ULL suffix of a number, making it signed/unsigned int64 respectively- -- http://luajit.org/ext_ffi_api.html#literals- pLLULL :: Parser String- pLLULL = pULL <|> pLL-- pLL :: Parser String- pLL = "LL" <$ oneOf ['L', 'l'] <* oneOf ['L', 'l']-- pULL :: Parser String- pULL = "ULL" <$ oneOf ['U', 'u'] <* pLL---- Parse the suffix of a number-parseNumberSuffix :: Parser String-parseNumberSuffix = imaginary <|> extension- where- imaginary = (: []) <$> oneOf ['i', 'I']- extension =- (\e s d -> e : s ++ d)- <$> oneOf ['e', 'E', 'p', 'P']- <*> option "" (string "+" <|> string "-")- <*> many1 digit---- | Parse either a keyword or an identifier that starts with that keyword-parseKeyword :: Token -> String -> Parser Token-parseKeyword tok str =- try- ( do- _ <- string str- (\s -> Identifier (str ++ s)) <$> many1 (pIdentifierCharacter)- <|> return tok- <?> "Keyword "- ++ str- )---- | Parse just an identifier.-parseIdentifier :: Parser String-parseIdentifier = (:) <$> pNonDigitIdentifierCharacter <*> many pIdentifierCharacter <?> "Identifier"---- | Parse a label.-parseLabel :: Parser Token-parseLabel =- Label- <$ string "::"- <*> parseOptionalWhitespace- <*> parseIdentifier- <*> parseOptionalWhitespace- <* string "::"- <?> "Label"---- | Parse anything to do with dots. Indexaction (.), concatenation (..), varargs (...) or numbers that start with a dot-parseDots :: Parser Token-parseDots = do- _ <- char '.' -- first .- try- ( do- _ <- char '.' -- second .- try (VarArg <$ char '.')- <|> return Concatenate -- third .- )- <|>- -- try to parse a number that starts with a .- try- ( do- nums <- many1 digit- suffix <- option "" parseNumberSuffix- return $ TNumber ('.' : (nums ++ suffix))- )- <|> return Dot---- | Parse any kind of token.-parseToken :: Parser Token-parseToken =- Whitespace <$> parseWhitespace- <|>- -- Constants- try parseString- <|> parseNumber- <|> parseKeyword TTrue "true"- <|> parseKeyword TFalse "false"- <|> parseKeyword Nil "nil"- <|> parseKeyword Not "not"- <|> parseKeyword And "and"- <|> parseKeyword Or "or"- <|> parseKeyword Function "function"- <|> parseKeyword Local "local"- <|> parseKeyword If "if"- <|> parseKeyword Then "then"- <|> parseKeyword Elseif "elseif"- <|> parseKeyword Else "else"- <|> parseKeyword For "for"- <|> parseKeyword In "in"- <|> parseKeyword Do "do"- <|> parseKeyword While "while"- <|> parseKeyword Until "until"- <|> parseKeyword Repeat "repeat"- <|> parseKeyword Continue "continue"- <|> parseKeyword Break "break"- <|> parseKeyword Return "return"- <|> parseKeyword End "end"- <|> Identifier <$> parseIdentifier- <|> Semicolon <$ char ';'- <|> parseDots- <|> try parseComment- <|>- -- Operators- Plus <$ string "+"- <|> Minus <$ string "-"- <|> Multiply <$ string "*"- <|> Divide <$ string "/"- <|> Modulus <$ string "%"- <|> Power <$ string "^"- <|> TEq <$ try (string "==")- <|> Equals <$ string "="- <|> TNEq <$ string "~="- <|> TCNEq <$ try (string "!=")- <|> CNot <$ string "!"- <|> TLEQ <$ try (string "<=")- <|> TLT <$ string "<"- <|> TGEQ <$ try (string ">=")- <|> TGT <$ string ">"- <|> try parseLabel- <|> Colon <$ string ":"- <|> Comma <$ string ","- <|> Hash <$ string "#"- <|> CAnd <$ string "&&"- <|> COr <$ string "||"- <|> LRound <$ char '('- <|> RRound <$ char ')'- <|> LCurly <$ char '{'- <|> RCurly <$ char '}'- <|> LSquare <$ char '['- <|> RSquare <$ char ']'---- | A thing of which the region is to be parsed-annotated :: (Region -> a -> b) -> Parser a -> Parser b-annotated f p = (\s t e -> f (Region s e) t) <$> pPos <*> p <*> pPos---- | parse located MToken-parseMToken :: Parser MToken-parseMToken =- do- start <- pPos- tok <- parseToken- end <- pPos-- return $ MToken (Region start end) tok---- | Parse a list of tokens and turn them into MTokens.-parseTokens :: Parser [MToken]-parseTokens = many parseMToken---- | Parse the potential #!comment on the first line--- Lua ignores the first line if it starts with #-parseHashBang :: Parser String-parseHashBang = option "" (char '#' *> pUntilEnd)---- | Parse a string into MTokens.-execParseTokens :: String -> Either ParseError [MToken]-execParseTokens = parse (parseHashBang *> parseTokens <* eof) "input"
− src/GLua/PSParser.hs
@@ -1,603 +0,0 @@-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE LambdaCase #-}-{-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE ScopedTypeVariables #-}-{-# LANGUAGE TupleSections #-}--module GLua.PSParser where--import GLua.AG.AST (- AReturn (..),- AST (..),- Args (..),- BinOp (..),- Block (..),- Expr (..),- Field (..),- FieldSep (..),- FuncName (..),- MElse (MElse),- MElseIf (MElseIf),- MExpr (..),- MStat (..),- PFExprSuffix (..),- PrefixExp (..),- Stat (..),- UnOp (..),- )-import GLua.AG.Token (- MToken (..),- Region (..),- Token (..),- )-import qualified GLua.Lexer as Lex-import GLua.TokenTypes (- isWhitespace,- mpos,- rgEnd,- rgStart,- splitComments,- tokenSize,- )--import Text.Parsec (- ParseError,- Parsec,- SourceName,- SourcePos,- anyToken,- between,- chainl1,- choice,- eof,- getPosition,- getState,- incSourceColumn,- lookAhead,- many,- many1,- option,- optionMaybe,- putState,- runParser,- sepBy1,- sourceColumn,- sourceLine,- tokenPrim,- try,- (<?>),- (<|>),- )-import Text.Parsec.Pos (newPos)-import Text.ParserCombinators.UU.BasicInstances (LineColPos (..))--type AParser = Parsec [MToken] LineColPos---- | Execute a parser-execAParser :: SourceName -> AParser a -> [MToken] -> Either ParseError a-execAParser name p = runParser p (LineColPos 0 0 0) name---- | Parse a string directly-parseFromString :: AParser a -> String -> Either ParseError a-parseFromString p = execAParser "source.lua" p . filter (not . isWhitespace) . fst . Lex.execParseTokens---- | Parse Garry's mod Lua tokens to an abstract syntax tree.--- Also returns parse errors-parseGLua :: [MToken] -> Either ParseError AST-parseGLua mts =- let- (cms, ts) = splitComments . filter (not . isWhitespace) $ mts- in- execAParser "source.lua" (parseChunk cms) ts--parseGLuaFromString :: String -> Either ParseError AST-parseGLuaFromString contents =- parseGLua $ filter (not . isWhitespace) $ fst $ Lex.execParseTokens contents---- | Region start to SourcePos-rgStart2sp :: Region -> SourcePos-rgStart2sp (Region start _) = lcp2sp start---- | Region end to SourcePos-rgEnd2sp :: Region -> SourcePos-rgEnd2sp (Region _ end) = lcp2sp end---- | SourcePos to region-sp2Rg :: SourcePos -> Region-sp2Rg sp = Region (sp2lcp sp) (sp2lcp sp)---- | LineColPos to SourcePos-lcp2sp :: LineColPos -> SourcePos-lcp2sp (LineColPos l c _) = newPos "source.lua" (l + 1) (c + 1)---- | SourcePos to LineColPos-sp2lcp :: SourcePos -> LineColPos-sp2lcp pos = LineColPos (sourceLine pos - 1) (sourceColumn pos - 1) 0---- | Update a SourcePos with an MToken-updatePosMToken :: SourcePos -> MToken -> [MToken] -> SourcePos-updatePosMToken _ (MToken p tok) [] = incSourceColumn (rgStart2sp p) (tokenSize tok)-updatePosMToken _ _ (MToken p _ : _) = rgStart2sp p---- | Match a token-pMTok :: Token -> AParser MToken-pMTok tok =- do- let- testMToken :: MToken -> Maybe MToken- testMToken mt@(MToken _ t) = if t == tok then Just mt else Nothing-- mt@(MToken pos _) <- tokenPrim show updatePosMToken testMToken-- putState (rgEnd pos)-- return mt---- Tokens that satisfy a condition-pMSatisfy :: (MToken -> Bool) -> AParser MToken-pMSatisfy cond =- do- let- testMToken :: MToken -> Maybe MToken- testMToken mt = if cond mt then Just mt else Nothing-- pMToken testMToken--pMToken :: forall a. (MToken -> Maybe a) -> AParser a-pMToken cond =- let- testMToken :: MToken -> Maybe (MToken, a)- testMToken mt = (mt,) <$> cond mt- in- do- (MToken pos _, res) <- tokenPrim show updatePosMToken testMToken-- putState (rgEnd pos)-- pure res---- | Get the source position--- Simply gets the position of the next token--- Falls back on the collected position when there is no token left-pPos :: AParser LineColPos-pPos = rgStart . mpos <$> lookAhead anyToken <|> sp2lcp <$> getPosition---- | Get the source position--- Simply gets the end position of the last parsed token-pEndPos :: AParser LineColPos-pEndPos = getState---- | A thing of which the region is to be parsed-annotated :: (Region -> a -> b) -> AParser a -> AParser b-annotated f p = (\s t e -> f (Region s e) t) <$> pPos <*> p <*> pEndPos---- | Parses the full AST--- Its first parameter contains all comments--- Assumes the mtokens fed to the AParser have no comments-parseChunk :: [MToken] -> AParser AST-parseChunk cms = AST cms <$> parseBlock <* eof---- | Parse a block with an optional return value-parseBlock :: AParser Block-parseBlock = Block <$> pInterleaved (pMTok Semicolon) parseMStat <*> (parseReturn <|> return NoReturn)--parseMStat :: AParser MStat-parseMStat = annotated MStat parseStat---- | Parser that is interleaved with 0 or more of the other parser-pInterleaved :: AParser a -> AParser b -> AParser [b]-pInterleaved sep q = many sep *> many (q <* many sep)---- | Parse a return value-parseReturn :: AParser AReturn-parseReturn = annotated AReturn (pMTok Return *> option [] parseExpressionList <* many (pMTok Semicolon) <?> "return statement")---- | Label-parseLabel :: AParser MToken-parseLabel = pMSatisfy isLabel <?> "label"- where- isLabel :: MToken -> Bool- isLabel (MToken _ (Label{})) = True- isLabel _ = False---- | Parse a single statement-parseStat :: AParser Stat-parseStat =- ALabel <$> parseLabel- <|> ABreak <$ pMTok Break- <|> AContinue <$ pMTok Continue- <|> ADo <$ pMTok Do <*> parseBlock <* pMTok End- <|> AWhile <$ pMTok While <*> parseExpression <* pMTok Do <*> parseBlock <* pMTok End- <|> ARepeat <$ pMTok Repeat <*> parseBlock <* pMTok Until <*> parseExpression- <|> parseIf- <|> parseFunction- <|> parseFor- <|> try (AGoto <$ pMTok (Identifier "goto") <*> pName)- <|> parseDefinition- <|> AFuncCall <$> pFunctionCall- <|> pMTok Local- *> ( parseLocalDefinition- <|> parseLocalFunction- )---- | Global definition--- Note: Uses try to avoid conflicts with function calls-parseDefinition :: AParser Stat-parseDefinition = flip (<?>) "variable definition" $ do- vars <- try $ do- vs <- parseVarList- _ <- pMTok Equals- return vs-- exprs <- parseExpressionList-- return $ Def (zip vars (map Just exprs ++ repeat Nothing))---- | Local definition-parseLocalDefinition :: AParser Stat-parseLocalDefinition = def <$> parseLocalVarList <*> option [] (pMTok Equals *> parseExpressionList) <?> "variable declaration"- where- def :: [PrefixExp] -> [MExpr] -> Stat- def ps exs = LocDef $ zip ps (map Just exs ++ repeat Nothing)---- | Global function definition-parseFunction :: AParser Stat-parseFunction =- AFunc- <$ pMTok Function- <*> parseFuncName- <*> between (pMTok LRound) (pMTok RRound) parseParList- <*> parseBlock- <* pMTok End- <?> "function definition"---- | Local function definition-parseLocalFunction :: AParser Stat-parseLocalFunction =- ALocFunc- <$ pMTok Function- <*> parseLocFuncName- <*> between (pMTok LRound) (pMTok RRound) parseParList- <*> parseBlock- <* pMTok End- <?> "local function definition"---- | Parse if then elseif then else end expressions-parseIf :: AParser Stat-parseIf =- AIf- <$ pMTok If- <*> parseExpression- <* pMTok Then- <*> parseBlock- <*>- -- elseif- many (annotated MElseIf $ (,) <$ pMTok Elseif <*> parseExpression <* pMTok Then <*> parseBlock)- <*>- -- else- optionMaybe (annotated MElse $ pMTok Else *> parseBlock)- <* pMTok End- <?> "if statement"--parseFor :: AParser Stat-parseFor = parseNFor <|> parseGFor---- | Parse numeric for loop-parseNFor :: AParser Stat-parseNFor = flip (<?>) "numeric for loop" $- do- name <- try $ do- _ <- pMTok For- name <- pName- _ <- pMTok Equals- return name-- start <- parseExpression- _ <- pMTok Comma- to <- parseExpression- st <- step- _ <- pMTok Do- blk <- parseBlock- _ <- pMTok End-- return $ ANFor name start to st blk- where- step :: AParser MExpr- step = pMTok Comma *> parseExpression <|> annotated MExpr (return (ANumber "1"))---- | Generic for loop-parseGFor :: AParser Stat-parseGFor = AGFor <$ pMTok For <*> parseNameList <* pMTok In <*> parseExpressionList <* pMTok Do <*> parseBlock <* pMTok End <?> "generic for loop"---- | Function name (includes dot indices and meta indices)-parseFuncName :: AParser FuncName-parseFuncName =- (\a b c -> FuncName (a : b) c)- <$> pName- <*> many (pMTok Dot *> pName)- <*> option Nothing (Just <$ pMTok Colon <*> pName)- <?> "function name"---- | Local function name: cannot be a meta function nor indexed-parseLocFuncName :: AParser FuncName-parseLocFuncName = (\name -> FuncName [name] Nothing) <$> pName <?> "function name"---- | Parse a number into an expression-parseNumber :: AParser Expr-parseNumber = pMToken isNumber <?> "number"- where- isNumber :: MToken -> Maybe Expr- isNumber = \case- MToken _ (TNumber str) -> Just $ ANumber str- _ -> Nothing---- | Parse any kind of string-parseString :: AParser MToken-parseString = pMSatisfy isString <?> "string"- where- isString :: MToken -> Bool- isString (MToken _ (DQString _)) = True- isString (MToken _ (SQString _)) = True- isString (MToken _ (MLString _)) = True- isString _ = False---- | Parse an identifier-pName :: AParser MToken-pName = pMSatisfy isName <?> "identifier"- where- isName :: MToken -> Bool- isName (MToken _ (Identifier _)) = True- isName _ = False---- | Parse a list of identifiers-parseNameList :: AParser [MToken]-parseNameList = sepBy1 pName (pMTok Comma)---- | Parse variable list (var1, var2, var3)-parseVarList :: AParser [PrefixExp]-parseVarList = sepBy1 parseVar (pMTok Comma)---- | Parse local variable list (var1, var2, var3)-parseLocalVarList :: AParser [PrefixExp]-parseLocalVarList = sepBy1 (PFVar <$> pName <*> pure []) (pMTok Comma)---- | Parse list of function parameters-parseParList :: AParser [MToken]-parseParList = option [] $ nameParam <|> vararg- where- vararg = (: []) <$> pMTok VarArg <?> "..."- nameParam = (:) <$> pName <*> moreParams <?> "parameter"- moreParams = option [] $ pMTok Comma *> (nameParam <|> vararg)---- | list of expressions-parseExpressionList :: AParser [MExpr]-parseExpressionList = sepBy1 parseExpression (pMTok Comma)---- | Subexpressions, i.e. without operators-parseSubExpression :: AParser Expr-parseSubExpression =- ANil- <$ pMTok Nil- <|> AFalse- <$ pMTok TFalse- <|> ATrue- <$ pMTok TTrue- <|> parseNumber- <|> AString- <$> parseString- <|> AVarArg- <$ pMTok VarArg- <|> parseAnonymFunc- <|> APrefixExpr- <$> parsePrefixExp- <|> ATableConstructor- <$> parseTableConstructor- <?> "expression"---- | Separate parser for anonymous function subexpression-parseAnonymFunc :: AParser Expr-parseAnonymFunc =- AnonymousFunc- <$ pMTok Function- <* pMTok LRound- <*> parseParList- <* pMTok RRound- <*> parseBlock- <* pMTok End- <?> "anonymous function"---- | Parse operators of the same precedence in a chain-samePrioL :: [(Token, BinOp)] -> AParser MExpr -> AParser MExpr-samePrioL ops pr = chainl1 pr (choice (map f ops))- where- f :: (Token, BinOp) -> AParser (MExpr -> MExpr -> MExpr)- f (t, at) = annotated (\p _ e1 e2 -> MExpr p (BinOpExpr at e1 e2)) (pMTok t)--samePrioR :: [(Token, BinOp)] -> AParser MExpr -> AParser MExpr-samePrioR ops pr = chainl1 pr (choice (map f ops))- where- f :: (Token, BinOp) -> AParser (MExpr -> MExpr -> MExpr)- f (t, at) = annotated (\p _ e1 e2 -> MExpr p (BinOpExpr at e1 e2)) (pMTok t)---- | Parse unary operator (-, not, #)-parseUnOp :: AParser UnOp-parseUnOp =- UnMinus <$ pMTok Minus- <|> ANot <$ pMTok Not- <|> ANot <$ pMTok CNot- <|> AHash <$ pMTok Hash---- | Parses a binary operator-parseBinOp :: AParser BinOp-parseBinOp =- AOr <$ pMTok Or- <|> AOr <$ pMTok COr- <|> AAnd <$ pMTok And- <|> AAnd <$ pMTok CAnd- <|> ALT <$ pMTok TLT- <|> AGT <$ pMTok TGT- <|> ALEQ <$ pMTok TLEQ- <|> AGEQ <$ pMTok TGEQ- <|> ANEq <$ pMTok TNEq- <|> ANEq <$ pMTok TCNEq- <|> AEq <$ pMTok TEq- <|> AConcatenate <$ pMTok Concatenate- <|> APlus <$ pMTok Plus- <|> BinMinus <$ pMTok Minus- <|> AMultiply <$ pMTok Multiply- <|> ADivide <$ pMTok Divide- <|> AModulus <$ pMTok Modulus- <|> APower <$ pMTok Power---- | Operators, sorted by priority--- Priority from: http://www.lua.org/manual/5.2/manual.html#3.4.7-lvl1, lvl2, lvl3, lvl4, lvl5, lvl6, lvl8 :: [(Token, BinOp)]-lvl1 = [(Or, AOr), (COr, AOr)]-lvl2 = [(And, AAnd), (CAnd, AAnd)]-lvl3 = [(TLT, ALT), (TGT, AGT), (TLEQ, ALEQ), (TGEQ, AGEQ), (TNEq, ANEq), (TCNEq, ANEq), (TEq, AEq)]-lvl4 = [(Concatenate, AConcatenate)]-lvl5 = [(Plus, APlus), (Minus, BinMinus)]-lvl6 = [(Multiply, AMultiply), (Divide, ADivide), (Modulus, AModulus)]--- lvl7 is unary operators-lvl8 = [(Power, APower)]---- | Parse chains of binary and unary operators-parseExpression :: AParser MExpr-parseExpression =- samePrioL- lvl1- ( samePrioL lvl2 $- samePrioL lvl3 $- samePrioR lvl4 $- samePrioL lvl5 $- samePrioL lvl6 $- annotated MExpr (UnOpExpr <$> parseUnOp <*> parseExpression)- <|> samePrioR lvl8 (annotated MExpr (parseSubExpression <|> UnOpExpr <$> parseUnOp <*> parseExpression)) -- lvl7- )- <?> "expression"---- | Prefix expressions--- can have any arbitrary list of expression suffixes-parsePrefixExp :: AParser PrefixExp-parsePrefixExp = pPrefixExp (many pPFExprSuffix)---- | Prefix expressions--- The suffixes define rules on the allowed suffixes-pPrefixExp :: AParser [PFExprSuffix] -> AParser PrefixExp-pPrefixExp suffixes =- PFVar <$> pName <*> suffixes- <|> ExprVar <$ pMTok LRound <*> parseExpression <* pMTok RRound <*> suffixes---- | Parse any expression suffix-pPFExprSuffix :: AParser PFExprSuffix-pPFExprSuffix = pPFExprCallSuffix <|> pPFExprIndexSuffix---- | Parse an indexing expression suffix-pPFExprCallSuffix :: AParser PFExprSuffix-pPFExprCallSuffix =- Call- <$> parseArgs- <|> MetaCall- <$ pMTok Colon- <*> pName- <*> parseArgs- <?> "function call"---- | Parse an indexing expression suffix-pPFExprIndexSuffix :: AParser PFExprSuffix-pPFExprIndexSuffix =- ExprIndex- <$ pMTok LSquare- <*> parseExpression- <* pMTok RSquare- <|> DotIndex- <$ pMTok Dot- <*> pName- <?> "indexation"---- | Function calls are prefix expressions, but the last suffix MUST be either a function call or a metafunction call-pFunctionCall :: AParser PrefixExp-pFunctionCall = pPrefixExp suffixes <?> "function call"- where- suffixes =- concat- <$> many1- ( (\ix c -> ix ++ [c]) <$> many1 pPFExprIndexSuffix <*> pPFExprCallSuffix- <|> (: []) <$> pPFExprCallSuffix- )---- | single variable. Note: definition differs from reference to circumvent the left recursion--- var ::= Name [{PFExprSuffix}* indexation] | '(' exp ')' {PFExprSuffix}* indexation--- where "{PFExprSuffix}* indexation" is any arbitrary sequence of prefix expression suffixes that end with an indexation-parseVar :: AParser PrefixExp-parseVar = pPrefixExp suffixes <?> "variable"- where- suffixes =- concat- <$> many- ( (\c ix -> c ++ [ix]) <$> many1 pPFExprCallSuffix <*> pPFExprIndexSuffix- <|> (: []) <$> pPFExprIndexSuffix- )---- | Arguments of a function call (including brackets)-parseArgs :: AParser Args-parseArgs =- ListArgs- <$ pMTok LRound- <*> option [] parseExpressionList- <* pMTok RRound- <|> TableArg- <$> parseTableConstructor- <|> StringArg- <$> parseString- <?> "function arguments"---- | Table constructor-parseTableConstructor :: AParser [Field]-parseTableConstructor = pMTok LCurly *> parseFieldList <* pMTok RCurly <?> "table"---- | A list of table entries--- Grammar: field {separator field} [separator]-parseFieldList :: AParser [Field]-parseFieldList = option [] $ do- field <- parseField- sep <- parseOptionalFieldSep- case sep of- NoSep -> pure [field NoSep]- _ -> (field sep :) <$> parseFieldList---- | Parse a named field (e.g. {named = field})--- Contains try to avoid conflict with unnamed fields-parseNamedField :: AParser (FieldSep -> Field)-parseNamedField = do- name <- try $ do- n <- pName- _ <- pMTok Equals- return n-- NamedField name <$> parseExpression---- | A field in a table-parseField :: AParser (FieldSep -> Field)-parseField =- ExprField- <$ pMTok LSquare- <*> parseExpression- <* pMTok RSquare- <* pMTok Equals- <*> parseExpression- <|> parseNamedField- <|> UnnamedField- <$> parseExpression- <?> "field"---- | Field separator, either comma or semicolon-parseFieldSep :: AParser FieldSep-parseFieldSep =- CommaSep <$ pMTok Comma- <|> SemicolonSep <$ pMTok Semicolon---- | Optional field separator, returns NoSep when no separator is found--- Used at the end of a field list-parseOptionalFieldSep :: AParser FieldSep-parseOptionalFieldSep = option NoSep parseFieldSep
src/GLua/Parser.hs view
@@ -1,271 +1,269 @@-{-# LANGUAGE CPP #-}-{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE Rank2Types #-}-{-# LANGUAGE NoMonomorphismRestriction #-}+{-# LANGUAGE ScopedTypeVariables #-}+{-# LANGUAGE TupleSections #-} --- | Parser based on <http://www.lua.org/manual/5.2/manual.html#9> module GLua.Parser where -import GLua.AG.AST-import GLua.AG.Token+import GLua.AG.AST (+ AReturn (..),+ AST (..),+ Args (..),+ BinOp (..),+ Block (..),+ Expr (..),+ Field (..),+ FieldSep (..),+ FuncName (..),+ MElse (MElse),+ MElseIf (MElseIf),+ MExpr (..),+ MStat (..),+ PFExprSuffix (..),+ PrefixExp (..),+ Stat (..),+ UnOp (..),+ )+import GLua.AG.Token (+ MToken (..),+ Token (..),+ ) import qualified GLua.Lexer as Lex-import GLua.TokenTypes--import Text.ParserCombinators.UU-import Text.ParserCombinators.UU.BasicInstances---- | MTokens with the positions of the next MToken (used in the advance of parser)-data MTokenPos = MTokenPos MToken Region--data RegionProgression = RegionProgression {lastRegion :: Region, nextRegion :: Region}- deriving (Show)--emptyRgPrgs :: RegionProgression-emptyRgPrgs = RegionProgression emptyRg emptyRg--instance Show MTokenPos where- show (MTokenPos tok _) = show tok+import GLua.TokenTypes (+ isWhitespace,+ mpos,+ splitComments,+ tokenSize,+ ) --- | Custom parser that parses MTokens-type AParser a = P (Str MTokenPos [MTokenPos] RegionProgression) a+import GLua.Position (LineColPos (..), Region (..))+import Text.Parsec (+ ParseError,+ Parsec,+ SourceName,+ SourcePos,+ anyToken,+ between,+ chainl1,+ choice,+ eof,+ getPosition,+ getState,+ incSourceColumn,+ lookAhead,+ many,+ many1,+ option,+ optionMaybe,+ putState,+ runParser,+ sepBy1,+ sourceColumn,+ sourceLine,+ tokenPrim,+ try,+ (<?>),+ (<|>),+ )+import Text.Parsec.Pos (newPos) --- | RegionProgression is a location that can be updated by MTokens-instance IsLocationUpdatedBy RegionProgression MTokenPos where- -- advance :: RegionProgression -> MToken -> RegionProgression- -- Assume the position of the next MToken- advance _ (MTokenPos mt p) = RegionProgression (mpos mt) p+type AParser = Parsec [MToken] LineColPos -resultsToRegion :: (a, [Error RegionProgression]) -> (a, [Error Region])-resultsToRegion (a, errs) = (a, map errorToRegion errs)+-- | Execute a parser+execAParser :: SourceName -> AParser a -> [MToken] -> Either ParseError a+execAParser name p = runParser p (LineColPos 0 0 0) name -- | Parse Garry's mod Lua tokens to an abstract syntax tree. -- Also returns parse errors-parseGLua :: [MToken] -> (AST, [Error Region])+parseGLua :: [MToken] -> Either ParseError AST parseGLua mts = let (cms, ts) = splitComments . filter (not . isWhitespace) $ mts in- resultsToRegion $ execAParser (parseChunk cms) ts+ execAParser "source.lua" (parseChunk cms) ts --- | Parse a string directly into an AST-parseGLuaFromString :: String -> (AST, [Error Region])-parseGLuaFromString = parseGLua . filter (not . isWhitespace) . fst . Lex.execParseTokens+parseGLuaFromString :: String -> Either ParseError AST+parseGLuaFromString contents =+ case Lex.execParseTokens contents of+ Left parseErrors -> Left parseErrors+ Right lexicon -> parseGLua $ filter (not . isWhitespace) lexicon --- | Parse a string directly-parseFromString :: AParser a -> String -> (a, [Error Region])-parseFromString p = resultsToRegion . execAParser p . filter (not . isWhitespace) . fst . Lex.execParseTokens+-- | Region start to SourcePos+rgStart2sp :: Region -> SourcePos+rgStart2sp (Region start _) = lcp2sp start --- | Create a parsable string from MTokens-createString :: [MToken] -> Str MTokenPos [MTokenPos] RegionProgression-createString [] = createStr emptyRgPrgs []-createString mts@(MToken p _ : xs) = createStr (RegionProgression p (nextRg mts')) mtpos- where- mts' = xs ++ [last mts] -- Repeat last element of mts- mkMtPos mt (MToken p' _) = MTokenPos mt p'- mtpos = zipWith mkMtPos mts mts'+-- | Region end to SourcePos+rgEnd2sp :: Region -> SourcePos+rgEnd2sp (Region _ end) = lcp2sp end - nextRg (MToken p' _ : _) = p'- nextRg [] = undefined+-- | SourcePos to region+sp2Rg :: SourcePos -> Region+sp2Rg sp = Region (sp2lcp sp) (sp2lcp sp) -errorToRegion :: Error RegionProgression -> Error Region-errorToRegion (Inserted a p b) = Inserted a (nextRegion p) b-errorToRegion (Deleted a p b) = Deleted a (nextRegion p) b-errorToRegion (Replaced a b p c) = Replaced a b (nextRegion p) c-errorToRegion (DeletedAtEnd s) = DeletedAtEnd s+-- | LineColPos to SourcePos+lcp2sp :: LineColPos -> SourcePos+lcp2sp (LineColPos l c _) = newPos "source.lua" (l + 1) (c + 1) --- | Position in Region (as opposed to RegionProgression)-pPos' :: AParser Region-pPos' = nextRegion <$> pPos+-- | SourcePos to LineColPos+sp2lcp :: SourcePos -> LineColPos+sp2lcp pos = LineColPos (sourceLine pos - 1) (sourceColumn pos - 1) 0 --- | Text.ParserCombinators.UU.Utils.execParser modified to parse MTokens--- The first MToken might not be on the first line, so use the first MToken's position to start-execAParser :: AParser a -> [MToken] -> (a, [Error RegionProgression])-execAParser p mts@[] = parse_h ((,) <$> p <*> pEnd) . createString $ mts-execAParser p mts@(_ : _) = parse_h ((,) <$> p <*> pEnd) . createString $ mts -- createStr (mpos m) $ mts+-- | Update a SourcePos with an MToken+updatePosMToken :: SourcePos -> MToken -> [MToken] -> SourcePos+updatePosMToken _ (MToken p tok) [] = incSourceColumn (rgStart2sp p) (tokenSize tok)+updatePosMToken _ _ (MToken p _ : _) = rgStart2sp p -pMSatisfy :: (MToken -> Bool) -> Token -> String -> AParser MToken-pMSatisfy f t ins = getToken <$> pSatisfy f' (Insertion ins (MTokenPos (MToken ep t) ep) 5)- where- f' :: MTokenPos -> Bool- f' (MTokenPos tok _) = f tok+-- | Match a token+pMTok :: Token -> AParser MToken+pMTok tok =+ do+ let+ testMToken :: MToken -> Maybe MToken+ testMToken mt@(MToken _ t) = if t == tok then Just mt else Nothing - getToken :: MTokenPos -> MToken- getToken (MTokenPos t' _) = t'+ mt@(MToken pos _) <- tokenPrim show updatePosMToken testMToken - ep = Region (LineColPos 0 0 0) (LineColPos 0 0 0)+ putState (rgEnd pos) --- | Parse a single Metatoken, based on a positionless token (much like pSym)-pMTok :: Token -> AParser MToken-pMTok t = pMSatisfy isToken t $ "'" ++ show t ++ "'"- where- isToken :: MToken -> Bool- isToken (MToken _ tok) = t == tok+ return mt --- | Parse a list of identifiers-parseNameList :: AParser [MToken]-parseNameList = (:) <$> pName <*> pMany (pMTok Comma *> pName)+-- Tokens that satisfy a condition+pMSatisfy :: (MToken -> Bool) -> AParser MToken+pMSatisfy cond =+ do+ let+ testMToken :: MToken -> Maybe MToken+ testMToken mt = if cond mt then Just mt else Nothing --- | Parse list of function parameters-parseParList :: AParser [MToken]-parseParList =- (pMTok VarArg <<|> pName)- <**> ( pMTok Comma- <**> ( (\a _ c -> [c, a])- <$> pMTok VarArg- <<|> (\a _ c -> c : a)- <$> parseParList- )- `opt` (: [])- )- `opt` []+ pMToken testMToken +pMToken :: forall a. (MToken -> Maybe a) -> AParser a+pMToken cond =+ let+ testMToken :: MToken -> Maybe (MToken, a)+ testMToken mt = (mt,) <$> cond mt+ in+ do+ (MToken pos _, res) <- tokenPrim show updatePosMToken testMToken++ putState (rgEnd pos)++ pure res++-- | Get the source position.+-- Simply gets the start position of the next token.+-- Falls back on the collected position when there is no token left.+pPos :: AParser LineColPos+pPos = rgStart . mpos <$> lookAhead anyToken <|> sp2lcp <$> getPosition++-- | Get the source position+-- Simply gets the end position of the last parsed token+pEndPos :: AParser LineColPos+pEndPos = getState++-- | A thing of which the region is to be parsed+annotated :: (Region -> a -> b) -> AParser a -> AParser b+annotated f p = (\s t e -> f (Region s e) t) <$> pPos <*> p <*> pEndPos+ -- | Parses the full AST -- Its first parameter contains all comments -- Assumes the mtokens fed to the AParser have no comments parseChunk :: [MToken] -> AParser AST-parseChunk cms = AST cms <$> parseBlock+parseChunk cms = AST cms <$> parseBlock <* eof -- | Parse a block with an optional return value parseBlock :: AParser Block-parseBlock = Block <$> pInterleaved (pMTok Semicolon) parseMStat <*> (parseReturn <<|> pReturn NoReturn)---- | A thing of which the region is to be parsed-annotated :: (Region -> a -> b) -> AParser a -> AParser b-annotated f p = (\s t e -> f (Region (rgStart s) (rgEnd $ lastRegion $ pos $ e)) t) <$> pPos' <*> p <*> pState+parseBlock = do+ -- using 'pEndPos' here, to make sure the region starts right at the end of the last token. This+ -- is to make sure it captures the whitespace too.+ start <- pEndPos+ mStats <- pInterleaved (pMTok Semicolon) parseMStat+ returnStatement <- parseReturn <|> return NoReturn+ -- Using 'pPos' here, to make sure the region also includes the whitespace+ end <- pPos+ pure $ Block (Region start end) mStats returnStatement parseMStat :: AParser MStat parseMStat = annotated MStat parseStat -- | Parser that is interleaved with 0 or more of the other parser pInterleaved :: AParser a -> AParser b -> AParser [b]-pInterleaved sep q = pMany sep *> pMany (q <* pMany sep)+pInterleaved sep q = many sep *> many (q <* many sep) --- | Behemoth parser that parses either function call statements or global declaration statements--- Big in size and complexity because prefix expressions are BITCHES--- The problem lies in the complexity of prefix expressions:--- hotten.totten["tenten"](tentoonstelling) -- This is a function call--- hotten.totten["tenten"] = tentoonstelling -- This is a declaration.--- hotten.totten["tenten"], tentoonstelling = 1, 2 -- This is also a declaration.--- One may find an arbitrary amount of expression suffixes (indexations/calls) before--- finding a comma or equals sign that proves that it is a declaration.--- Also, goto can be an identifier-parseCallDef :: AParser Stat-parseCallDef =- parseGoto- <<|> ( PFVar- <$> pName- <<|> ExprVar- <$ pMTok LRound- <*> parseExpression- <* pMTok RRound -- Statemens begin with either a simple name or parenthesised expression- )- <**> (- -- Either there are more suffixes yet to be found (contSearch)- -- or there aren't and we will find either a comma or =-sign (varDecl namedVarDecl)- contSearch- <<|> varDecl namedVarDecl- )- where- -- Try to parse a goto statement- parseGoto :: AParser Stat- parseGoto =- (PFVar <$> pMTok (Identifier "goto"))- <**> ( (\n _ -> AGoto n)- <$> pName- <<|> contSearch- <<|> varDecl namedVarDecl- )+-- | Parse a return value+parseReturn :: AParser AReturn+parseReturn = annotated AReturn (pMTok Return *> option [] parseExpressionList <* many (pMTok Semicolon) <?> "return statement") - -- Simple direct declaration: varName, ... = 1, ...- namedVarDecl :: [PrefixExp] -> [MExpr] -> (ExprSuffixList -> PrefixExp) -> Stat- namedVarDecl vars exprs pfe = let pfes = (pfe []) : vars in Def (zip pfes $ map Just exprs ++ repeat Nothing)+-- | Label+parseLabel :: AParser MToken+parseLabel = pMSatisfy isLabel <?> "label"+ where+ isLabel :: MToken -> Bool+ isLabel (MToken _ (Label{})) = True+ isLabel _ = False - -- This is where we know it's a variable declaration- -- Takes a function that turns it into a proper Def Stat- varDecl :: ([PrefixExp] -> [MExpr] -> b) -> AParser b- varDecl f =- f- <$> opt (pMTok Comma *> parseVarList) []- <* pMTok Equals- <*> parseExpressionList+-- | Parse a single statement+parseStat :: AParser Stat+parseStat =+ ALabel <$> parseLabel+ <|> ABreak <$ pMTok Break+ <|> AContinue <$ pMTok Continue+ <|> ADo <$ pMTok Do <*> parseBlock <* pMTok End+ <|> AWhile <$ pMTok While <*> parseExpression <* pMTok Do <*> parseBlock <* pMTok End+ <|> ARepeat <$ pMTok Repeat <*> parseBlock <* pMTok Until <*> parseExpression+ <|> parseIf+ <|> parseFunction+ <|> parseFor+ <|> try (AGoto <$ pMTok (Identifier "goto") <*> pName)+ <|> parseDefinition+ <|> AFuncCall <$> pFunctionCall+ <|> pMTok Local+ *> ( parseLocalDefinition+ <|> parseLocalFunction+ ) - -- We know that there is at least one suffix (indexation or call).- -- Search for more suffixes and make either a call or declaration from it- contSearch :: AParser ((ExprSuffixList -> PrefixExp) -> Stat)- contSearch = (\(ss, mkStat) pfe -> mkStat $ pfe ss) <$> searchDeeper+-- | Global definition+-- Note: Uses try to avoid conflicts with function calls+parseDefinition :: AParser Stat+parseDefinition = flip (<?>) "variable definition" $ do+ vars <- try $ do+ vs <- parseVarList+ _ <- pMTok Equals+ return vs - -- We either find a call suffix or an indexation suffix- -- When it's a function call, try searching for more suffixes, if that doesn't work, it's a function call.- -- When it's an indexation suffix, search for more suffixes or know that it's a declaration.- searchDeeper :: AParser ([PFExprSuffix], PrefixExp -> Stat)- searchDeeper =- (pPFExprCallSuffix <**> (mergeDeeperSearch <$> searchDeeper <<|> pReturn (\s -> ([s], AFuncCall))))- <<|> (pPFExprIndexSuffix <**> (mergeDeeperSearch <$> searchDeeper <<|> varDecl complexDecl))+ exprs <- parseExpressionList - -- Merge the finding of more suffixes with the currently found suffix- mergeDeeperSearch :: ([PFExprSuffix], PrefixExp -> Stat) -> PFExprSuffix -> ([PFExprSuffix], PrefixExp -> Stat)- mergeDeeperSearch (ss, f) s = (s : ss, f)+ return $ Def (zip vars (map Just exprs ++ repeat Nothing)) - -- Multiple suffixes have been found, and proof has been found that this must be a declaration.- -- Now to give all the collected suffixes and a function that creates the declaration- complexDecl :: [PrefixExp] -> [MExpr] -> PFExprSuffix -> ([PFExprSuffix], PrefixExp -> Stat)- complexDecl vars exprs s = ([s], \pf -> Def (zip (pf : vars) $ map Just exprs ++ repeat Nothing))+-- | Local definition+parseLocalDefinition :: AParser Stat+parseLocalDefinition = def <$> parseLocalVarList <*> option [] (pMTok Equals *> parseExpressionList) <?> "variable declaration"+ where+ def :: [PrefixExp] -> [MExpr] -> Stat+ def ps exs = LocDef $ zip ps (map Just exs ++ repeat Nothing) --- | Parse a single statement-parseStat :: AParser Stat-parseStat =- parseCallDef- <<|> ALabel- <$> parseLabel- <<|> ABreak- <$ pMTok Break- <<|> AContinue- <$ pMTok Continue- <<|>- -- AGoto <$ pMTok (Identifier "goto") <*> pName <|>- ADo- <$ pMTok Do- <*> parseBlock- <* pMTok End- <<|> AWhile- <$ pMTok While- <*> parseExpression- <* pMTok Do+-- | Global function definition+parseFunction :: AParser Stat+parseFunction =+ AFunc+ <$ pMTok Function+ <*> parseFuncName+ <*> between (pMTok LRound) (pMTok RRound) parseParList <*> parseBlock <* pMTok End- <<|> ARepeat- <$ pMTok Repeat- <*> parseBlock- <* pMTok Until- <*> parseExpression- <<|> parseIf- <<|> parseFor- <<|> AFunc+ <?> "function definition"++-- | Local function definition+parseLocalFunction :: AParser Stat+parseLocalFunction =+ ALocFunc <$ pMTok Function- <*> parseFuncName- <*> pPacked (pMTok LRound) (pMTok RRound) parseParList+ <*> parseLocFuncName+ <*> between (pMTok LRound) (pMTok RRound) parseParList <*> parseBlock <* pMTok End- <<|>- -- local function and local vars both begin with "local"- pMTok Local- <**> (- -- local function- (\n p b _l -> ALocFunc n p b)- <$ pMTok Function- <*> parseLocFuncName- <*> pPacked (pMTok LRound) (pMTok RRound) parseParList- <*> parseBlock- <* pMTok End- <<|>- -- local variables- (\v (_p, e) _l -> LocDef (zip v $ map Just e ++ repeat Nothing))- <$> parseLocalVarList- <*> ((,) <$ pMTok Equals <*> pPos' <*> parseExpressionList <<|> (,) <$> pPos' <*> pReturn [])- )+ <?> "local function definition" -- | Parse if then elseif then else end expressions parseIf :: AParser Stat@@ -277,80 +275,68 @@ <*> parseBlock <*> -- elseif- pMany (annotated MElseIf $ (,) <$ pMTok Elseif <*> parseExpression <* pMTok Then <*> parseBlock)+ many (annotated MElseIf $ (,) <$ pMTok Elseif <*> parseExpression <* pMTok Then <*> parseBlock) <*> -- else- optional (annotated MElse $ pMTok Else *> parseBlock)+ optionMaybe (annotated MElse $ pMTok Else *> parseBlock) <* pMTok End+ <?> "if statement" --- | Parse numeric and generic for loops parseFor :: AParser Stat-parseFor = do- pMTok For- firstName <- pName- -- If you see an =-sign, it's a numeric for loop. It'll be a generic for loop otherwise- isNumericLoop <- (const True <$> pMTok Equals <<|> const False <$> pReturn ())- if isNumericLoop- then do- startExp <- parseExpression- pMTok Comma- toExp <- parseExpression- step <- pMTok Comma *> parseExpression <<|> MExpr <$> pPos' <*> pReturn (ANumber "1")- pMTok Do- block <- parseBlock- pMTok End- pReturn $ ANFor firstName startExp toExp step block- else do- vars <- (:) firstName <$ pMTok Comma <*> parseNameList <<|> pReturn [firstName]- pMTok In- exprs <- parseExpressionList- pMTok Do- block <- parseBlock- pMTok End- pReturn $ AGFor vars exprs block+parseFor = parseNFor <|> parseGFor --- | Parse a return value-parseReturn :: AParser AReturn-parseReturn = AReturn <$> pPos' <* pMTok Return <*> opt parseExpressionList [] <* pMany (pMTok Semicolon)+-- | Parse numeric for loop+parseNFor :: AParser Stat+parseNFor = flip (<?>) "numeric for loop" $+ do+ name <- try $ do+ _ <- pMTok For+ name <- pName+ _ <- pMTok Equals+ return name --- | Label-parseLabel :: AParser MToken-parseLabel = pMSatisfy isLabel (Label "" "someLabel" "") "Some label"+ start <- parseExpression+ _ <- pMTok Comma+ to <- parseExpression+ st <- step+ _ <- pMTok Do+ blk <- parseBlock+ _ <- pMTok End++ return $ ANFor name start to st blk where- isLabel :: MToken -> Bool- isLabel (MToken _ (Label{})) = True- isLabel _ = False+ step :: AParser MExpr+ step = pMTok Comma *> parseExpression <|> annotated MExpr (return (ANumber "1")) +-- | Generic for loop+parseGFor :: AParser Stat+parseGFor = AGFor <$ pMTok For <*> parseNameList <* pMTok In <*> parseExpressionList <* pMTok Do <*> parseBlock <* pMTok End <?> "generic for loop"+ -- | Function name (includes dot indices and meta indices) parseFuncName :: AParser FuncName parseFuncName = (\a b c -> FuncName (a : b) c) <$> pName- <*> pMany (pMTok Dot *> pName)- <*> opt (Just <$ pMTok Colon <*> pName) Nothing+ <*> many (pMTok Dot *> pName)+ <*> option Nothing (Just <$ pMTok Colon <*> pName)+ <?> "function name" --- | Local function name. Does not include dot and meta indices, since they're not allowed in meta functions+-- | Local function name: cannot be a meta function nor indexed parseLocFuncName :: AParser FuncName-parseLocFuncName = (\a -> FuncName [a] Nothing) <$> pName+parseLocFuncName = (\name -> FuncName [name] Nothing) <$> pName <?> "function name" -- | Parse a number into an expression parseNumber :: AParser Expr-parseNumber = toAnumber <$> pMSatisfy isNumber (TNumber "0") "Number"+parseNumber = pMToken isNumber <?> "number" where- isNumber :: MToken -> Bool- isNumber (MToken _ (TNumber _)) = True- isNumber _ = False-- -- A better solution would be to have a single `MToken -> Maybe Expr` function, but I am too- -- lazy to write that.- toAnumber :: MToken -> Expr- toAnumber = \case- (MToken _ (TNumber str)) -> ANumber str- _ -> error "unreachable"+ isNumber :: MToken -> Maybe Expr+ isNumber = \case+ MToken _ (TNumber str) -> Just $ ANumber str+ _ -> Nothing -- | Parse any kind of string parseString :: AParser MToken-parseString = pMSatisfy isString (DQString "someString") "String"+parseString = pMSatisfy isString <?> "string" where isString :: MToken -> Bool isString (MToken _ (DQString _)) = True@@ -360,80 +346,112 @@ -- | Parse an identifier pName :: AParser MToken-pName = pMSatisfy isName (Identifier "someVariable") "Variable"+pName = pMSatisfy isName <?> "identifier" where isName :: MToken -> Bool isName (MToken _ (Identifier _)) = True isName _ = False +-- | Parse a list of identifiers+parseNameList :: AParser [MToken]+parseNameList = sepBy1 pName (pMTok Comma)+ -- | Parse variable list (var1, var2, var3) parseVarList :: AParser [PrefixExp]-parseVarList = pList1Sep (pMTok Comma) parseVar+parseVarList = sepBy1 parseVar (pMTok Comma) --- | Parse local variable list (var1, var2, var3), without suffixes+-- | Parse local variable list (var1, var2, var3) parseLocalVarList :: AParser [PrefixExp]-parseLocalVarList = pList1Sep (pMTok Comma) (PFVar <$> pName <*> pure [])+parseLocalVarList = sepBy1 (PFVar <$> pName <*> pure []) (pMTok Comma) +-- | Parse list of function parameters+parseParList :: AParser [MToken]+parseParList = option [] $ nameParam <|> vararg+ where+ vararg = (: []) <$> pMTok VarArg <?> "..."+ nameParam = (:) <$> pName <*> moreParams <?> "parameter"+ moreParams = option [] $ pMTok Comma *> (nameParam <|> vararg)+ -- | list of expressions parseExpressionList :: AParser [MExpr]-parseExpressionList = pList1Sep (pMTok Comma) parseExpression+parseExpressionList = sepBy1 parseExpression (pMTok Comma) -- | Subexpressions, i.e. without operators parseSubExpression :: AParser Expr parseSubExpression = ANil <$ pMTok Nil- <<|> AFalse+ <|> AFalse <$ pMTok TFalse- <<|> ATrue+ <|> ATrue <$ pMTok TTrue- <<|> parseNumber- <<|> AString+ <|> parseNumber+ <|> AString <$> parseString- <<|> AVarArg+ <|> AVarArg <$ pMTok VarArg- <<|> parseAnonymFunc- <<|> APrefixExpr+ <|> parseAnonymFunc+ <|> APrefixExpr <$> parsePrefixExp- <<|> ATableConstructor+ <|> ATableConstructor <$> parseTableConstructor+ <?> "expression" -- | Separate parser for anonymous function subexpression parseAnonymFunc :: AParser Expr parseAnonymFunc = AnonymousFunc <$ pMTok Function- <*> pPacked (pMTok LRound) (pMTok RRound) parseParList+ <* pMTok LRound+ <*> parseParList+ <* pMTok RRound <*> parseBlock <* pMTok End+ <?> "anonymous function" -- | Parse operators of the same precedence in a chain samePrioL :: [(Token, BinOp)] -> AParser MExpr -> AParser MExpr-samePrioL ops pr = pChainl (choice (map f ops)) pr+samePrioL ops pr = chainl1 pr (choice (map f ops)) where- choice = foldr (<<|>) pFail f :: (Token, BinOp) -> AParser (MExpr -> MExpr -> MExpr)- f (t, at) = (\p e1 e2 -> MExpr p (BinOpExpr at e1 e2)) <$> pPos' <* pMTok t+ f (t, at) = annotated (\p _ e1 e2 -> MExpr p (BinOpExpr at e1 e2)) (pMTok t) samePrioR :: [(Token, BinOp)] -> AParser MExpr -> AParser MExpr-samePrioR ops pr = pChainr (choice (map f ops)) pr+samePrioR ops pr = chainl1 pr (choice (map f ops)) where- choice = foldr (<<|>) pFail f :: (Token, BinOp) -> AParser (MExpr -> MExpr -> MExpr)- f (t, at) = (\p e1 e2 -> MExpr p (BinOpExpr at e1 e2)) <$> pPos' <* pMTok t+ f (t, at) = annotated (\p _ e1 e2 -> MExpr p (BinOpExpr at e1 e2)) (pMTok t) -- | Parse unary operator (-, not, #) parseUnOp :: AParser UnOp parseUnOp =- UnMinus- <$ pMTok Minus- <<|> ANot- <$ pMTok Not- <<|> ANot- <$ pMTok CNot- <<|> AHash- <$ pMTok Hash+ UnMinus <$ pMTok Minus+ <|> ANot <$ pMTok Not+ <|> ANot <$ pMTok CNot+ <|> AHash <$ pMTok Hash +-- | Parses a binary operator+parseBinOp :: AParser BinOp+parseBinOp =+ AOr <$ pMTok Or+ <|> AOr <$ pMTok COr+ <|> AAnd <$ pMTok And+ <|> AAnd <$ pMTok CAnd+ <|> ALT <$ pMTok TLT+ <|> AGT <$ pMTok TGT+ <|> ALEQ <$ pMTok TLEQ+ <|> AGEQ <$ pMTok TGEQ+ <|> ANEq <$ pMTok TNEq+ <|> ANEq <$ pMTok TCNEq+ <|> AEq <$ pMTok TEq+ <|> AConcatenate <$ pMTok Concatenate+ <|> APlus <$ pMTok Plus+ <|> BinMinus <$ pMTok Minus+ <|> AMultiply <$ pMTok Multiply+ <|> ADivide <$ pMTok Divide+ <|> AModulus <$ pMTok Modulus+ <|> APower <$ pMTok Power+ -- | Operators, sorted by priority -- Priority from: http://www.lua.org/manual/5.2/manual.html#3.4.7 lvl1, lvl2, lvl3, lvl4, lvl5, lvl6, lvl8 :: [(Token, BinOp)]@@ -449,88 +467,44 @@ -- | Parse chains of binary and unary operators parseExpression :: AParser MExpr parseExpression =- samePrioL lvl1 $- samePrioL lvl2 $- samePrioL lvl3 $- samePrioR lvl4 $- samePrioL lvl5 $- samePrioL lvl6 $- MExpr- <$> pPos'- <*> (UnOpExpr <$> parseUnOp <*> parseExpression)- <<|> samePrioR lvl8 (MExpr <$> pPos' <*> (parseSubExpression <|> UnOpExpr <$> parseUnOp <*> parseExpression)) -- lvl7---- | Parses a binary operator-parseBinOp :: AParser BinOp-parseBinOp =- const AOr- <$> pMTok Or- <<|> const AOr- <$> pMTok COr- <<|> const AAnd- <$> pMTok And- <<|> const AAnd- <$> pMTok CAnd- <<|> const ALT- <$> pMTok TLT- <<|> const AGT- <$> pMTok TGT- <<|> const ALEQ- <$> pMTok TLEQ- <<|> const AGEQ- <$> pMTok TGEQ- <<|> const ANEq- <$> pMTok TNEq- <<|> const ANEq- <$> pMTok TCNEq- <<|> const AEq- <$> pMTok TEq- <<|> const AConcatenate- <$> pMTok Concatenate- <<|> const APlus- <$> pMTok Plus- <<|> const BinMinus- <$> pMTok Minus- <<|> const AMultiply- <$> pMTok Multiply- <<|> const ADivide- <$> pMTok Divide- <<|> const AModulus- <$> pMTok Modulus- <<|> const APower- <$> pMTok Power+ samePrioL+ lvl1+ ( samePrioL lvl2 $+ samePrioL lvl3 $+ samePrioR lvl4 $+ samePrioL lvl5 $+ samePrioL lvl6 $+ annotated MExpr (UnOpExpr <$> parseUnOp <*> parseExpression)+ <|> samePrioR lvl8 (annotated MExpr (parseSubExpression <|> UnOpExpr <$> parseUnOp <*> parseExpression)) -- lvl7+ )+ <?> "expression" -- | Prefix expressions -- can have any arbitrary list of expression suffixes parsePrefixExp :: AParser PrefixExp-parsePrefixExp = pPrefixExp (pMany pPFExprSuffix)+parsePrefixExp = pPrefixExp (many pPFExprSuffix) -- | Prefix expressions -- The suffixes define rules on the allowed suffixes pPrefixExp :: AParser [PFExprSuffix] -> AParser PrefixExp pPrefixExp suffixes =- PFVar- <$> pName- <*> suffixes- <<|> ExprVar- <$ pMTok LRound- <*> parseExpression- <* pMTok RRound- <*> suffixes+ PFVar <$> pName <*> suffixes+ <|> ExprVar <$ pMTok LRound <*> parseExpression <* pMTok RRound <*> suffixes -- | Parse any expression suffix pPFExprSuffix :: AParser PFExprSuffix-pPFExprSuffix = pPFExprCallSuffix <<|> pPFExprIndexSuffix+pPFExprSuffix = pPFExprCallSuffix <|> pPFExprIndexSuffix -- | Parse an indexing expression suffix pPFExprCallSuffix :: AParser PFExprSuffix pPFExprCallSuffix = Call <$> parseArgs- <<|> MetaCall+ <|> MetaCall <$ pMTok Colon <*> pName <*> parseArgs+ <?> "function call" -- | Parse an indexing expression suffix pPFExprIndexSuffix :: AParser PFExprSuffix@@ -539,38 +513,33 @@ <$ pMTok LSquare <*> parseExpression <* pMTok RSquare- <<|> DotIndex+ <|> DotIndex <$ pMTok Dot <*> pName+ <?> "indexation" -- | Function calls are prefix expressions, but the last suffix MUST be either a function call or a metafunction call pFunctionCall :: AParser PrefixExp-pFunctionCall = pPrefixExp suffixes+pFunctionCall = pPrefixExp suffixes <?> "function call" where suffixes = concat- <$> pSome- ( (\ix c -> ix ++ [c])- <$> pSome pPFExprIndexSuffix- <*> pPFExprCallSuffix- <<|> (: [])- <$> pPFExprCallSuffix+ <$> many1+ ( (\ix c -> ix ++ [c]) <$> many1 pPFExprIndexSuffix <*> pPFExprCallSuffix+ <|> (: []) <$> pPFExprCallSuffix ) -- | single variable. Note: definition differs from reference to circumvent the left recursion -- var ::= Name [{PFExprSuffix}* indexation] | '(' exp ')' {PFExprSuffix}* indexation -- where "{PFExprSuffix}* indexation" is any arbitrary sequence of prefix expression suffixes that end with an indexation parseVar :: AParser PrefixExp-parseVar = pPrefixExp suffixes+parseVar = pPrefixExp suffixes <?> "variable" where suffixes = concat- <$> pMany- ( (\c ix -> c ++ [ix])- <$> pSome pPFExprCallSuffix- <*> pPFExprIndexSuffix- <<|> (: [])- <$> pPFExprIndexSuffix+ <$> many+ ( (\c ix -> c ++ [ix]) <$> many1 pPFExprCallSuffix <*> pPFExprIndexSuffix+ <|> (: []) <$> pPFExprIndexSuffix ) -- | Arguments of a function call (including brackets)@@ -578,44 +547,39 @@ parseArgs = ListArgs <$ pMTok LRound- <*> opt parseExpressionList []+ <*> option [] parseExpressionList <* pMTok RRound- <<|> TableArg+ <|> TableArg <$> parseTableConstructor- <<|> StringArg+ <|> StringArg <$> parseString+ <?> "function arguments" -- | Table constructor parseTableConstructor :: AParser [Field]-parseTableConstructor = pMTok LCurly *> parseFieldList <* pMTok RCurly+parseTableConstructor = pMTok LCurly *> parseFieldList <* pMTok RCurly <?> "table" -- | A list of table entries -- Grammar: field {separator field} [separator] parseFieldList :: AParser [Field]-parseFieldList =- parseField- <**> ( parseFieldSep- <**> ((\rest sep field -> field sep : rest) <$> (parseFieldList <<|> pure []))- <<|> pure (\field -> [field NoSep])- )- <<|> pure []+parseFieldList = option [] $ do+ field <- parseField+ sep <- parseOptionalFieldSep+ case sep of+ NoSep -> pure [field NoSep]+ _ -> (field sep :) <$> parseFieldList --- | Makes an unnamed field out of a list of suffixes, a position and a name.--- This function gets called when we know a field is unnamed and contains an expression that--- starts with a PrefixExp--- See the parseField parser where it is used-makeUnNamedField :: Maybe (BinOp, MExpr) -> ExprSuffixList -> (Region, MToken) -> (FieldSep -> Field)-makeUnNamedField Nothing sfs (p, nm) = UnnamedField $ MExpr p $ APrefixExpr $ PFVar nm sfs-makeUnNamedField (Just (op, mexpr)) sfs (p, nm) = UnnamedField $ MExpr p $ (merge (APrefixExpr $ PFVar nm sfs) mexpr)- where- -- Merge the first prefixExpr into the expression tree- merge :: Expr -> MExpr -> Expr- merge pf e@(MExpr _ (BinOpExpr op' l r)) =- if op > op'- then BinOpExpr op' (MExpr p $ (merge pf l)) r- else BinOpExpr op (MExpr p pf) e- merge pf e = BinOpExpr op (MExpr p pf) e+-- | Parse a named field (e.g. {named = field})+-- Contains try to avoid conflict with unnamed fields+parseNamedField :: AParser (FieldSep -> Field)+parseNamedField = do+ name <- try $ do+ n <- pName+ _ <- pMTok Equals+ return n + NamedField name <$> parseExpression+ -- | A field in a table parseField :: AParser (FieldSep -> Field) parseField =@@ -625,36 +589,18 @@ <* pMTok RSquare <* pMTok Equals <*> parseExpression- <<|> ( (,)- <$> pPos'- <*> pName- <**>- -- Named field has equals sign immediately after the name- ( ((\e (_, n) -> NamedField n e) <$ pMTok Equals <*> parseExpression)- <<|>- -- The lack of equals sign means it's an unnamed field.- -- The expression of the unnamed field must be starting with a PFVar Prefix expression- pMany pPFExprSuffix- <**> ( makeUnNamedField- <$> (- -- There are operators, so the expression goes on beyond the prefixExpression- curry Just- <$> parseBinOp- <*> parseExpression- <<|>- -- There are no operators after the prefix expression- pReturn Nothing- )- )- )- )- <<|> UnnamedField+ <|> parseNamedField+ <|> UnnamedField <$> parseExpression+ <?> "field" --- | Field separator+-- | Field separator, either comma or semicolon parseFieldSep :: AParser FieldSep parseFieldSep =- CommaSep- <$ pMTok Comma- <<|> SemicolonSep- <$ pMTok Semicolon+ CommaSep <$ pMTok Comma+ <|> SemicolonSep <$ pMTok Semicolon++-- | Optional field separator, returns NoSep when no separator is found+-- Used at the end of a field list+parseOptionalFieldSep :: AParser FieldSep+parseOptionalFieldSep = option NoSep parseFieldSep
+ src/GLua/Position.hs view
@@ -0,0 +1,83 @@+{-# LANGUAGE CPP #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE OverloadedStrings #-}++-- | Reimplements the LineColPos from `uu-parsinglib`, and adds some more functions related to+-- positioning.+module GLua.Position where++import Data.Aeson+import GHC.Generics (Generic)++data LineColPos = LineColPos {lcpLine :: !Int, lcpColumn :: !Int, lcpPos :: !Int}+ deriving (Eq, Show)++-- The order depends on line and column, not the position, though this should not make a difference+-- when both LineColPoses are from the same file.+instance Ord LineColPos where+ compare (LineColPos l c _) (LineColPos l' c' _) =+ compare l l' `mappend` compare c c'++instance ToJSON LineColPos where+ -- this generates a Value+ toJSON (LineColPos line col p) =+ object ["line" .= line, "column" .= col, "pos" .= p]++#if MIN_VERSION_aeson(0,10,0)+ -- this encodes directly to a bytestring Builder+ toEncoding (LineColPos line col p) =+ pairs ("line" .= line <> "column" .= col <> "pos" .= p)+#endif++instance FromJSON LineColPos where+ parseJSON = withObject "LineColPos" $ \v ->+ LineColPos+ <$> v .: "line"+ <*> v .: "column"+ <*> v .: "pos"++data Region = Region {rgStart :: !LineColPos, rgEnd :: !LineColPos}+ deriving (Eq, Show, Generic)++-- Ord instance defined explicitly for clarity.+instance Ord Region where+ compare (Region s e) (Region s' e') =+ compare s s' `mappend` compare e e'++instance ToJSON Region+instance FromJSON Region++-- | An empty region from position 0 to position 0.+emptyRg :: Region+emptyRg = Region (LineColPos 0 0 0) (LineColPos 0 0 0)++-- | Hack: Chooses left region if it is not 'emptyRg', and the right region if it is.+rgOr :: Region -> Region -> Region+rgOr l r+ | l == emptyRg = r+ | otherwise = l++-- | Whether the first region ends strictly before the second region starts+before :: Region -> Region -> Bool+before (Region _ (LineColPos _ _ p)) (Region (LineColPos _ _ p') _) = p < p'++-- | Whether the first region ends before or on the same line as the second region+beforeOrOnLine :: Region -> Region -> Bool+beforeOrOnLine (Region _ (LineColPos l _ _)) (Region (LineColPos l' _ _) _) = l <= l'++-- | Whether the first region ends before the second region ends+beforeEnd :: Region -> Region -> Bool+beforeEnd (Region _ (LineColPos _ _ p)) (Region _ (LineColPos _ _ p')) = p < p'++-- | Whether the first region ends before or on the same line as the END of the second region+beforeEndLine :: Region -> Region -> Bool+beforeEndLine (Region _ (LineColPos l _ _)) (Region _ (LineColPos l' _ _)) = l <= l'++-- | Returns a region that starts at the start of the first region+-- and ends BEFORE the start of the second region+upto :: Region -> Region -> Region+upto lr rr = case (rgEnd lr, rgStart rr) of+ (_, LineColPos 0 0 0) -> lr+ (LineColPos l c _, LineColPos l' c' _)+ | l' > l || (l' == l && c' > c) -> lr+ | otherwise -> Region (rgStart lr) (rgStart rr)
src/GLua/TokenTypes.hs view
@@ -1,18 +1,16 @@-{-# LANGUAGE CPP #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE LambdaCase #-}-{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE StandaloneDeriving #-} {-# OPTIONS_GHC -fno-warn-orphans #-} -- | Contains class instances and functions related to tokens module GLua.TokenTypes where -import Data.Aeson-import Data.List-import GHC.Generics-import GLua.AG.Token-import Text.ParserCombinators.UU.BasicInstances+import Data.Aeson (FromJSON, ToJSON)+import Data.List (foldl', partition)+import GHC.Generics (Generic)+import GLua.AG.Token (MToken (..), Token (..))+import GLua.Position (LineColPos (..), Region (..)) instance Show MToken where show (MToken _ tok) = show tok@@ -30,60 +28,18 @@ instance ToJSON MToken instance FromJSON MToken -instance Eq LineColPos where- (LineColPos l c p) == (LineColPos l' c' p') = l == l' && c == c' && p == p'--instance Ord LineColPos where- compare (LineColPos l c _) (LineColPos l' c' _) =- compare l l' `mappend` compare c c'--instance ToJSON LineColPos where- -- this generates a Value- toJSON (LineColPos line col p) =- object ["line" .= line, "column" .= col, "pos" .= p]--#if MIN_VERSION_aeson(0,10,0)- -- this encodes directly to a bytestring Builder- toEncoding (LineColPos line col p) =- pairs ("line" .= line <> "column" .= col <> "pos" .= p)-#endif--instance FromJSON LineColPos where- parseJSON = withObject "LineColPos" $ \v ->- LineColPos- <$> v .: "line"- <*> v .: "column"- <*> v .: "pos"--instance Eq Region where- Region s e == Region s' e' = s == s' && e == e'--instance Ord Region where- compare (Region s e) (Region s' e') =- compare s s' `mappend` compare e e'--instance ToJSON Region-instance FromJSON Region- instance ToJSON Token instance FromJSON Token --- | Metatoken algebra-type MTokenAlgebra mtok = Region -> Token -> mtok- mpos :: MToken -> Region mpos (MToken p _) = p mtok :: MToken -> Token mtok (MToken _ t) = t -emptyRg :: Region-emptyRg = Region (LineColPos 0 0 0) (LineColPos 0 0 0)--rgOr :: Region -> Region -> Region-rgOr l r- | l == emptyRg = r- | otherwise = l+-- | Map function for an MToken+mapMtok :: (Token -> a) -> MToken -> a+mapMtok f (MToken _ t) = f t ---------------------------------------- -- Correcting token positions@@ -98,373 +54,163 @@ customAdvanceToken :: LineColPos -> Token -> LineColPos customAdvanceToken (LineColPos line pos' abs') t = let len = tokenSize t in LineColPos line (pos' + len) (abs' + len) --- | Whether the first region ends strictly before the second region starts-before :: Region -> Region -> Bool-before (Region _ (LineColPos _ _ p)) (Region (LineColPos _ _ p') _) = p < p'---- | Whether the first region ends before or on the same line as the second region-beforeOrOnLine :: Region -> Region -> Bool-beforeOrOnLine (Region _ (LineColPos l _ _)) (Region (LineColPos l' _ _) _) = l <= l'---- | Whether the first region ends before the second region ends-beforeEnd :: Region -> Region -> Bool-beforeEnd (Region _ (LineColPos _ _ p)) (Region _ (LineColPos _ _ p')) = p < p'---- | Whether the first region ends before or on the same line as the END of the second region-beforeEndLine :: Region -> Region -> Bool-beforeEndLine (Region _ (LineColPos l _ _)) (Region _ (LineColPos l' _ _)) = l <= l'--rgStart :: Region -> LineColPos-rgStart (Region s _) = s--rgEnd :: Region -> LineColPos-rgEnd (Region _ e) = e---- | Returns a region that starts at the start of the first region--- and ends BEFORE the start of the second region-upto :: Region -> Region -> Region-upto lr rr = case (rgEnd lr, rgStart rr) of- (_, LineColPos 0 0 0) -> lr- (LineColPos l c _, LineColPos l' c' _)- | l' > l || (l' == l && c' > c) -> lr- | otherwise -> Region (rgStart lr) (rgStart rr)---- | Fold over metatoken-foldMToken :: MTokenAlgebra t -> MToken -> t-foldMToken alg (MToken p t) = alg p t---- | mFold: Apply a TokenAlgebra to an MToken-mFold :: TokenAlgebra a -> MToken -> a-mFold alg = foldMToken f- where- f _ = foldToken alg---- | Huge token algebra-type TokenAlgebra token =- ( ( -- Comments and whitespace- String -> token- , String -> token -- DashComment- , Int -> String -> token -- DashBlockComment- , String -> token -- SlashComment- , String -> token -- SlashBlockComment- , token -- Semicolon- )- , ( -- Constants- String -> token -- TNumber- , String -> token -- DQString- , String -> token -- SQString- , String -> token -- MLString- , token -- TTrue- , token -- TFalse- , token -- Nil- , token -- VarArg- ) -- operators- , ( token -- Plus- , token -- Minus- , token -- Multiply- , token -- Divide- , token -- Modulus- , token -- Power- , token -- TEq- , token -- TNEq- , token -- TCNEq- , token -- TLEQ- , token -- TGEQ- , token -- TLT- , token -- TGT- , token -- Equals- , token -- Concatenate- , token -- Colon- , token -- Dot- , token -- Comma- , token -- Hash- , token -- Not- , token -- CNot- , token -- And- , token -- CAnd- , token -- Or- , token -- COr- )- , ( -- Keywords- token -- Function- , token -- Local- , token -- If- , token -- Then- , token -- Elseif- , token -- Else- , token -- For- , token -- In- , token -- Do- , token -- While- , token -- Until- , token -- Repeat- , token -- Continue- , token -- Break- , token -- Return- , token -- End- )- , ( -- Brackets- token -- LRound- , token -- RRound- , token -- LCurly- , token -- RCurly- , token -- LSquare- , token -- RSquare- )- , ( -- Other- String -> String -> String -> token -- Label- , String -> token -- Identifier- )- )---- | Fold over token definition-foldToken :: TokenAlgebra t -> Token -> t-foldToken ((tWhitespace, tDashComment, tDashBlockComment, tSlashComment, tSlashBlockComment, tSemicolon), (tTNumber, tDQString, tSQString, tMLString, tTTrue, tTFalse, tNil, tVarArg), (tPlus, tMinus, tMultiply, tDivide, tModulus, tPower, tTEq, tTNEq, tTCNEq, tTLEQ, tTGEQ, tTLT, tTGT, tEquals, tConcatenate, tColon, tDot, tComma, tHash, tNot, tCNot, tAnd, tCAnd, tOr, tCOr), (tFunction, tLocal, tIf, tThen, tElseif, tElse, tFor, tIn, tDo, tWhile, tUntil, tRepeat, tContinue, tBreak, tReturn, tEnd), (tLRound, tRRound, tLCurly, tRCurly, tLSquare, tRSquare), (tLabel, tIdentifier)) = fold- where- fold (Whitespace str) = tWhitespace str- fold (DashComment str) = tDashComment str- fold (DashBlockComment depth str) = tDashBlockComment depth str- fold (SlashComment str) = tSlashComment str- fold (SlashBlockComment str) = tSlashBlockComment str- fold (TNumber str) = tTNumber str- fold (Label whitespaceBefore str whitespaceAfter) = tLabel whitespaceBefore str whitespaceAfter- fold (Identifier str) = tIdentifier str- fold (DQString str) = tDQString str- fold (SQString str) = tSQString str- fold (MLString str) = tMLString str- fold And = tAnd- fold CAnd = tCAnd- fold Break = tBreak- fold Do = tDo- fold Else = tElse- fold Elseif = tElseif- fold End = tEnd- fold TFalse = tTFalse- fold For = tFor- fold Function = tFunction- fold If = tIf- fold In = tIn- fold Local = tLocal- fold Nil = tNil- fold Not = tNot- fold CNot = tCNot- fold Or = tOr- fold COr = tCOr- fold Repeat = tRepeat- fold Continue = tContinue- fold Return = tReturn- fold Then = tThen- fold TTrue = tTTrue- fold Until = tUntil- fold While = tWhile- fold Plus = tPlus- fold Minus = tMinus- fold Multiply = tMultiply- fold Divide = tDivide- fold Modulus = tModulus- fold Power = tPower- fold Hash = tHash- fold TEq = tTEq- fold TNEq = tTNEq- fold TCNEq = tTCNEq- fold TLEQ = tTLEQ- fold TGEQ = tTGEQ- fold TLT = tTLT- fold TGT = tTGT- fold Equals = tEquals- fold LRound = tLRound- fold RRound = tRRound- fold LCurly = tLCurly- fold RCurly = tRCurly- fold LSquare = tLSquare- fold RSquare = tRSquare- fold Semicolon = tSemicolon- fold Colon = tColon- fold Comma = tComma- fold Dot = tDot- fold Concatenate = tConcatenate- fold VarArg = tVarArg- -- | Simple show instance instance Show Token where- show =- foldToken- (- ( id- , ("--" ++) -- DashComment- , \d s -> let n = replicate d '=' in "--[" ++ n ++ '[' : s ++ ']' : n ++ "]" -- DashBlockComment- , ("//" ++) -- SlashComment- , \s -> "/*" ++ s ++ "*/" -- SlashBlockComment- , ";" -- Semicolon- )- ,- ( id -- TNumber- , \s -> "\"" ++ s ++ "\"" -- DQString- , \s -> "'" ++ s ++ "'" -- SQString- , id -- MLString- , "true" -- TTrue- , "false" -- TFalse- , "nil" -- Nil- , "..." -- VarArg- )- ,- ( "+" -- Plus- , "-" -- Minus- , "*" -- Multiply- , "/" -- Divide- , "%" -- Modulus- , "^" -- Power- , "==" -- TEq- , "~=" -- TNEq- , "!=" -- TCNEq- , "<=" -- TLEQ- , ">=" -- TGEQ- , "<" -- TLT- , ">" -- TGT- , "=" -- Equals- , ".." -- Concatenate- , ":" -- Colon- , "." -- Dot- , "," -- Comma- , "#" -- Hash- , "not" -- Not- , "!" -- CNot- , "and" -- And- , "&&" -- CAnd- , "or" -- Or- , "||" -- COr- )- ,- ( "function" -- Function- , "local" -- Local- , "if" -- If- , "then" -- Then- , "elseif" -- Elseif- , "else" -- Else- , "for" -- For- , "in" -- In- , "do" -- Do- , "while" -- While- , "until" -- Until- , "repeat" -- Repeat- , "continue" -- Continue- , "break" -- Break- , "return" -- Return- , "end" -- End- )- ,- ( "(" -- LRound- , ")" -- RRound- , "{" -- LCurly- , "}" -- RCurly- , "[" -- LSquare- , "]" -- RSquare- )- ,- ( \spaceBefore ident spaceAfter -> spaceBefore ++ ident ++ spaceAfter -- Label- , id -- Identifier- )- )+ show token = case token of+ Whitespace s -> s+ DashComment c -> "--" ++ c+ DashBlockComment d s -> let n = replicate d '=' in "--[" ++ n ++ '[' : s ++ ']' : n ++ "]"+ SlashComment c -> "//" ++ c+ SlashBlockComment s -> "/*" ++ s ++ "*/"+ Semicolon -> ";"+ TNumber n -> n+ DQString s -> "\"" ++ s ++ "\""+ SQString s -> "'" ++ s ++ "'"+ MLString s -> s+ TTrue -> "true"+ TFalse -> "false"+ Nil -> "nil"+ VarArg -> "..."+ Plus -> "+"+ Minus -> "-"+ Multiply -> "*"+ Divide -> "/"+ Modulus -> "%"+ Power -> "^"+ TEq -> "=="+ TNEq -> "~="+ TCNEq -> "!="+ TLEQ -> "<="+ TGEQ -> ">="+ TLT -> "<"+ TGT -> ">"+ Equals -> "="+ Concatenate -> ".."+ Colon -> ":"+ Dot -> "."+ Comma -> ","+ Hash -> "#"+ Not -> "not"+ CNot -> "!"+ And -> "and"+ CAnd -> "&&"+ Or -> "or"+ COr -> "||"+ Function -> "function"+ Local -> "local"+ If -> "if"+ Then -> "then"+ Elseif -> "elseif"+ Else -> "else"+ For -> "for"+ In -> "in"+ Do -> "do"+ While -> "while"+ Until -> "until"+ Repeat -> "repeat"+ Continue -> "continue"+ Break -> "break"+ Return -> "return"+ End -> "end"+ LRound -> "("+ RRound -> ")"+ LCurly -> "{"+ RCurly -> "}"+ LSquare -> "["+ RSquare -> "]"+ Label spaceBefore ident spaceAfter -> spaceBefore ++ ident ++ spaceAfter+ Identifier i -> i -- | Whether an mtoken is a comment isWhitespace :: MToken -> Bool-isWhitespace = mFold ((const True, const False, \_ _ -> False, const False, const False, False), (const False, const False, const False, const False, False, False, False, False), (False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False), (False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False), (False, False, False, False, False, False), (\_ _ _ -> False, const False))+isWhitespace = mapMtok $ \case+ Whitespace{} -> True+ _ -> False -- | Whether an mtoken is a comment isComment :: MToken -> Bool-isComment = mFold ((const False, const True, \_ _ -> True, const True, const True, False), (const False, const False, const False, const False, False, False, False, False), (False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False), (False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False), (False, False, False, False, False, False), (\_ _ _ -> False, const False))+isComment = mapMtok $ \case+ DashComment{} -> True+ DashBlockComment{} -> True+ SlashComment{} -> True+ SlashBlockComment{} -> True+ _ -> False -- | Split the tokens by comments and other tokens splitComments :: [MToken] -> ([MToken], [MToken]) splitComments = partition isComment +-- | Extracts the label name out of the token, returns empty string when the token is not a label or+-- identifier. tokenLabel :: MToken -> String-tokenLabel = mFold ((const "", const "", \_ _ -> "", const "", const "", ""), (const "", const "", const "", const "", "", "", "", ""), ("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), ("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""), ("", "", "", "", "", ""), (\_ ident _ -> ident, id))+tokenLabel = mapMtok $ \case+ Label _ ident _ -> ident+ Identifier ident -> ident+ _ -> "" -- | The size of a token in characters tokenSize :: Token -> Int-tokenSize =- foldToken- (- ( length -- whitespace- , (+ 2) . length -- DashComment- , \d s -> 6 + length s + 2 * d -- DashBlockComment- , (+ 2) . length -- SlashComment- , (+ 4) . length -- SlashBlockComment- , 1 -- Semicolon- )- ,- ( length -- TNumber- , (+ 2) . length -- DQString- , (+ 2) . length -- SQString- , length -- MLString- , 4 -- TTrue- , 5 -- TFalse- , 3 -- Nil- , 3 -- VarArg- )- ,- ( 1 -- Plus- , 1 -- Minus- , 1 -- Multiply- , 1 -- Divide- , 1 -- Modulus- , 1 -- Power- , 2 -- TEq- , 2 -- TNEq- , 2 -- TCNEq- , 2 -- TLEQ- , 2 -- TGEQ- , 1 -- TLT- , 1 -- TGT- , 1 -- Equals- , 2 -- Concatenate- , 1 -- Colon- , 1 -- Dot- , 1 -- Comma- , 1 -- Hash- , 3 -- Not- , 1 -- CNot- , 3 -- And- , 2 -- CAnd- , 2 -- Or- , 2 -- COr- )- ,- ( 8 -- Function- , 5 -- Local- , 2 -- If- , 4 -- Then- , 6 -- Elseif- , 4 -- Else- , 3 -- For- , 2 -- In- , 2 -- Do- , 5 -- While- , 5 -- Until- , 6 -- Repeat- , 8 -- Continue- , 5 -- Break- , 6 -- Return- , 3 -- End- )- ,- ( 1 -- LRound- , 1 -- RRound- , 1 -- LCurly- , 1 -- RCurly- , 1 -- LSquare- , 1 -- RSquare- )- ,- ( \spaceBefore ident spaceAfter ->- 2 + length spaceBefore + length ident + length spaceAfter + 2 -- Label- , length -- Identifier- )- )--isSingleLineComment :: Token -> Bool-isSingleLineComment = \case- DashComment _ -> True- SlashComment _ -> True- _ -> False+tokenSize = \case+ Whitespace s -> length s+ DashComment c -> 2 + length c+ DashBlockComment d s -> 6 + length s + 2 * d+ SlashComment c -> length c + 2+ SlashBlockComment s -> length s + 2+ Semicolon -> 1+ TNumber n -> length n+ DQString s -> length s + 2+ SQString s -> length s + 2+ MLString s -> length s+ TTrue -> 4+ TFalse -> 5+ Nil -> 3+ VarArg -> 3+ Plus -> 1+ Minus -> 1+ Multiply -> 1+ Divide -> 1+ Modulus -> 1+ Power -> 1+ TEq -> 2+ TNEq -> 2+ TCNEq -> 2+ TLEQ -> 2+ TGEQ -> 2+ TLT -> 1+ TGT -> 1+ Equals -> 1+ Concatenate -> 2+ Colon -> 1+ Dot -> 1+ Comma -> 1+ Hash -> 1+ Not -> 3+ CNot -> 1+ And -> 3+ CAnd -> 2+ Or -> 2+ COr -> 2+ Function -> 8+ Local -> 5+ If -> 2+ Then -> 4+ Elseif -> 6+ Else -> 4+ For -> 3+ In -> 2+ Do -> 2+ While -> 5+ Until -> 5+ Repeat -> 6+ Continue -> 8+ Break -> 5+ Return -> 6+ End -> 3+ LRound -> 1+ RRound -> 1+ LCurly -> 1+ RCurly -> 1+ LSquare -> 1+ RSquare -> 1+ Label spaceBefore ident spaceAfter -> 2 + length spaceBefore + length ident + length spaceAfter + 2+ Identifier i -> length i
src/GLuaFixer/AG/ASTLint.hs view
@@ -1,15302 +1,14147 @@-{-# LANGUAGE DeriveGeneric #-}-{-# LANGUAGE LambdaCase #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- UUAGC 0.9.55 (src/GLuaFixer/AG/ASTLint.ag)-module GLuaFixer.AG.ASTLint where--{-# LINE 9 "src/GLuaFixer/AG/../../GLua/AG/Token.ag" #-}--import GHC.Generics-import Text.ParserCombinators.UU.BasicInstances hiding (pos)-{-# LINE 19 "src/GLuaFixer/AG/ASTLint.hs" #-}--{-# LINE 10 "src/GLuaFixer/AG/../../GLua/AG/AST.ag" #-}--import Data.Aeson-import GHC.Generics-import GLua.AG.Token-import GLua.TokenTypes ()-{-# LINE 27 "src/GLuaFixer/AG/ASTLint.hs" #-}--{-# LINE 10 "src/GLuaFixer/AG/ASTLint.ag" #-}--import Data.Char (isLower, isUpper)-import qualified Data.Map.Strict as M-import Data.Maybe-import qualified Data.Set as S-import GLua.AG.AST-import qualified GLua.AG.PrettyPrint as PP-import qualified GLua.AG.Token as T-import GLua.TokenTypes-import GLuaFixer.LintMessage-import GLuaFixer.LintSettings-{-# LINE 41 "src/GLuaFixer/AG/ASTLint.hs" #-}-{-# LINE 28 "src/GLuaFixer/AG/ASTLint.ag" #-}--warn :: Region -> Issue -> FilePath -> LintMessage-warn pos issue = LintMessage LintWarning pos issue---- Used in detecting "not (a == b)" kind of things-oppositeBinOp :: BinOp -> Maybe String-oppositeBinOp ALT = Just ">="-oppositeBinOp AGT = Just "<="-oppositeBinOp ALEQ = Just ">"-oppositeBinOp AGEQ = Just "<"-oppositeBinOp ANEq = Just "=="-oppositeBinOp AEq = Just "~="-oppositeBinOp _ = Nothing---- Checks whether a variable shadows existing variables-checkShadows :: [M.Map String (Bool, Region)] -> MToken -> Maybe (FilePath -> LintMessage)-checkShadows [] _ = Nothing-checkShadows _ (MToken _ (Identifier "_")) = Nothing -- Exception for vars named '_'-checkShadows (scope : scs) mtok' =- if M.member lbl scope- then Just $ warn (mpos mtok') $ VariableShadows lbl location- else checkShadows scs mtok'- where- lbl = tokenLabel mtok'- location = snd $ fromMaybe (error "checkShadows fromMaybe") $ M.lookup lbl scope---- Determines whether a variable is local--- It is local if it does not exist in any but the topmost (global) scope--- it may or may not exist in the topmost scope.-isVariableLocal :: [M.Map String (Bool, Region)] -> String -> Bool-isVariableLocal [] _ = False-isVariableLocal [_] _ = False-isVariableLocal (scope : scs) var =- case M.lookup var scope of- Just _ -> True- Nothing -> isVariableLocal scs var---- Registers a variable as global variable when it hasn't been--- introduced in any of the visible scopes-registerVariable :: [M.Map String (Bool, Region)] -> Region -> String -> Bool -> [M.Map String (Bool, Region)]-registerVariable [] _ _ _ = error "cannot register top level variable"-registerVariable (scope : []) pos var used =- [ case M.lookup var scope of- Just (used', pos') -> M.insert var (used || used', pos') scope- Nothing -> M.insert var (used, pos) scope- ] -- global scope-registerVariable (scope : scs) pos var used = case M.lookup var scope of- Just (True, _) -> scope : scs- Just (False, pos') -> M.insert var (used, pos') scope : scs- Nothing -> scope : registerVariable scs pos var used--findSelf :: [MToken] -> Bool-findSelf ((MToken _ (Identifier "self")) : _) = True-findSelf _ = False--data VariableStyle- = StartsLowerCase- | StartsUpperCase- | VariableStyleNeither- deriving (Eq)--data DeterminedVariableStyle- = VarStyleNotDetermined- | VarStyleDetermined !VariableStyle--combineDeterminedVarStyle :: DeterminedVariableStyle -> VariableStyle -> DeterminedVariableStyle-combineDeterminedVarStyle old new = case old of- VarStyleNotDetermined -> VarStyleDetermined new- VarStyleDetermined VariableStyleNeither -> VarStyleDetermined new- _ -> old--determineVariableStyle :: String -> VariableStyle-determineVariableStyle = \case- [] -> VariableStyleNeither- (c : _)- | isLower c -> StartsLowerCase- | isUpper c -> StartsUpperCase- | otherwise -> VariableStyleNeither--variableStyleInconsistent :: DeterminedVariableStyle -> VariableStyle -> Bool-variableStyleInconsistent determinedStyle varStyle = case determinedStyle of- VarStyleNotDetermined -> False- VarStyleDetermined VariableStyleNeither -> False- VarStyleDetermined existing -> case varStyle of- VariableStyleNeither -> False- _ -> existing /= varStyle--unknownIdentifier :: String-unknownIdentifier = "Unknown identifier"--{-# LINE 135 "src/GLuaFixer/AG/ASTLint.hs" #-}--{-# LINE 647 "src/GLuaFixer/AG/ASTLint.ag" #-}--inh_AST :: LintSettings -> Inh_AST-inh_AST conf =- Inh_AST- { config_Inh_AST = conf- , isMeta_Inh_AST = False- , loopLevel_Inh_AST = 0- , globalDefinitions_Inh_AST = M.empty- , mtokenPos_Inh_AST = emptyRg- , scopeLevel_Inh_AST = 0- , scopes_Inh_AST = [M.empty]- , funcName_Inh_AST = ""- , isInModule_Inh_AST = False- , variableStyle_Inh_AST = VarStyleNotDetermined- }--allAttributes :: LintSettings -> AST -> Syn_AST-allAttributes conf p = wrap_AST (sem_AST p) (inh_AST conf)--astWarnings :: LintSettings -> AST -> [String -> LintMessage]-astWarnings conf p = warnings_Syn_AST $ allAttributes conf p--globalDefinitions :: LintSettings -> AST -> M.Map String [Region]-globalDefinitions conf p = globalDefinitions_Syn_AST $ allAttributes conf p-{-# LINE 161 "src/GLuaFixer/AG/ASTLint.hs" #-}--- AReturn -------------------------------------------------------- cata-sem_AReturn- :: AReturn- -> T_AReturn-sem_AReturn (AReturn _pos _values) =- (sem_AReturn_AReturn (sem_Region _pos) (sem_MExprList _values))-sem_AReturn (NoReturn) =- (sem_AReturn_NoReturn)---- semantic domain-type T_AReturn = (AReturn, T_AReturn_1)-type T_AReturn_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), Int, DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_AReturn = Inh_AReturn {config_Inh_AReturn :: LintSettings, funcName_Inh_AReturn :: String, globalDefinitions_Inh_AReturn :: (M.Map String [Region]), isInModule_Inh_AReturn :: Bool, isMeta_Inh_AReturn :: Bool, loopLevel_Inh_AReturn :: Int, mtokenPos_Inh_AReturn :: Region, scopeLevel_Inh_AReturn :: Int, scopes_Inh_AReturn :: ([M.Map String (Bool, Region)]), variableStyle_Inh_AReturn :: DeterminedVariableStyle}-data Syn_AReturn = Syn_AReturn {copy_Syn_AReturn :: AReturn, globalDefinitions_Syn_AReturn :: (M.Map String [Region]), identifier_Syn_AReturn :: String, isInModule_Syn_AReturn :: Bool, mtokenPos_Syn_AReturn :: Region, scopes_Syn_AReturn :: ([M.Map String (Bool, Region)]), statementCount_Syn_AReturn :: Int, variableStyle_Syn_AReturn :: DeterminedVariableStyle, warnings_Syn_AReturn :: ([String -> LintMessage])}-wrap_AReturn- :: T_AReturn- -> Inh_AReturn- -> Syn_AReturn-wrap_AReturn sem (Inh_AReturn _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_AReturn _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings)- )-sem_AReturn_AReturn- :: T_Region- -> T_MExprList- -> T_AReturn-sem_AReturn_AReturn pos_ values_ =- ( case (values_) of- (_valuesIcopy, values_1) ->- ( case (pos_) of- (_posIcopy, _posIidentifier, _posIwarnings) ->- ( case ( ( AReturn _posIcopy _valuesIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_AReturn_AReturn_1 :: T_AReturn_1- sem_AReturn_AReturn_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _valuesOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _valuesOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _valuesOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _valuesOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _valuesOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _valuesOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _valuesOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _valuesOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _valuesOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _valuesOfuncName ->- ( case ( ( True- )- ) of- _valuesOtopLevel ->- ( case ( ( True- )- ) of- _valuesOinParentheses ->- ( case (values_1 _valuesOconfig _valuesOfuncName _valuesOglobalDefinitions _valuesOinParentheses _valuesOisInModule _valuesOisMeta _valuesOloopLevel _valuesOmtokenPos _valuesOscopeLevel _valuesOscopes _valuesOtopLevel _valuesOvariableStyle) of- (_valuesIglobalDefinitions, _valuesIidentifier, _valuesIisInModule, _valuesImtokenPos, _valuesIscopes, _valuesIvariableStyle, _valuesIwarnings) ->- ( case ( ( _valuesIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _posIidentifier _valuesIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _valuesIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _posIcopy- )- ) of- _lhsOmtokenPos ->- ( case ( ( _valuesIscopes- )- ) of- _lhsOscopes ->- ( case ( ( 1- )- ) of- _lhsOstatementCount ->- ( case ( ( _valuesIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _posIwarnings ++ _valuesIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_AReturn_AReturn_1- )- ) of- (sem_AReturn_1) ->- (_lhsOcopy, sem_AReturn_1)- )- )- )- )- )-sem_AReturn_NoReturn :: T_AReturn-sem_AReturn_NoReturn =- ( case ( ( NoReturn- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_AReturn_NoReturn_1 :: T_AReturn_1- sem_AReturn_NoReturn_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( 0- )- ) of- _lhsOstatementCount ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_AReturn_NoReturn_1- )- ) of- (sem_AReturn_1) ->- (_lhsOcopy, sem_AReturn_1)- )- )- )---- AST ------------------------------------------------------------ cata-sem_AST- :: AST- -> T_AST-sem_AST (AST _comments _chunk) =- (sem_AST_AST _comments (sem_Block _chunk))---- semantic domain-type T_AST =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> (AST, (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_AST = Inh_AST {config_Inh_AST :: LintSettings, funcName_Inh_AST :: String, globalDefinitions_Inh_AST :: (M.Map String [Region]), isInModule_Inh_AST :: Bool, isMeta_Inh_AST :: Bool, loopLevel_Inh_AST :: Int, mtokenPos_Inh_AST :: Region, scopeLevel_Inh_AST :: Int, scopes_Inh_AST :: ([M.Map String (Bool, Region)]), variableStyle_Inh_AST :: DeterminedVariableStyle}-data Syn_AST = Syn_AST {copy_Syn_AST :: AST, globalDefinitions_Syn_AST :: (M.Map String [Region]), identifier_Syn_AST :: String, isInModule_Syn_AST :: Bool, mtokenPos_Syn_AST :: Region, scopes_Syn_AST :: ([M.Map String (Bool, Region)]), variableStyle_Syn_AST :: DeterminedVariableStyle, warnings_Syn_AST :: ([String -> LintMessage])}-wrap_AST- :: T_AST- -> Inh_AST- -> Syn_AST-wrap_AST sem (Inh_AST _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_AST _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_AST_AST- :: ([MToken])- -> T_Block- -> T_AST-sem_AST_AST comments_ chunk_ =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case (chunk_) of- (_chunkIcopy, chunk_1) ->- ( case ( ( AST comments_ _chunkIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _lhsIisMeta- )- ) of- _chunkOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _chunkOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _chunkOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _chunkOconfig ->- ( case ( ( M.empty : _lhsIscopes- )- ) of- _chunkOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _chunkOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _chunkOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _chunkOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _chunkOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _chunkOfuncName ->- ( case ( ( False- )- ) of- _chunkOisRepeat ->- ( case (chunk_1 _chunkOconfig _chunkOfuncName _chunkOglobalDefinitions _chunkOisInModule _chunkOisMeta _chunkOisRepeat _chunkOloopLevel _chunkOmtokenPos _chunkOscopeLevel _chunkOscopes _chunkOvariableStyle) of- (_chunkIglobalDefinitions, _chunkIidentifier, _chunkIisIfStatement, _chunkIisInModule, _chunkImtokenPos, _chunkIscopes, _chunkIstatementCount, _chunkIvariableStyle, _chunkIwarnings) ->- ( case ( ( _chunkIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _chunkIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _chunkIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _chunkImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _chunkIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _chunkIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _chunkIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )---- Args ----------------------------------------------------------- cata-sem_Args- :: Args- -> T_Args-sem_Args (ListArgs _args) =- (sem_Args_ListArgs (sem_MExprList _args))-sem_Args (TableArg _arg) =- (sem_Args_TableArg (sem_FieldList _arg))-sem_Args (StringArg _arg) =- (sem_Args_StringArg (sem_MToken _arg))---- semantic domain-type T_Args = (Args, T_Args_1)-type T_Args_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_Args = Inh_Args {config_Inh_Args :: LintSettings, funcName_Inh_Args :: String, globalDefinitions_Inh_Args :: (M.Map String [Region]), isInModule_Inh_Args :: Bool, isMeta_Inh_Args :: Bool, loopLevel_Inh_Args :: Int, mtokenPos_Inh_Args :: Region, scopeLevel_Inh_Args :: Int, scopes_Inh_Args :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Args :: DeterminedVariableStyle}-data Syn_Args = Syn_Args {copy_Syn_Args :: Args, globalDefinitions_Syn_Args :: (M.Map String [Region]), identifier_Syn_Args :: String, isInModule_Syn_Args :: Bool, mtokenPos_Syn_Args :: Region, scopes_Syn_Args :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Args :: DeterminedVariableStyle, warnings_Syn_Args :: ([String -> LintMessage])}-wrap_Args- :: T_Args- -> Inh_Args- -> Syn_Args-wrap_Args sem (Inh_Args _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_Args _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_Args_ListArgs- :: T_MExprList- -> T_Args-sem_Args_ListArgs args_ =- ( case (args_) of- (_argsIcopy, args_1) ->- ( case ( ( ListArgs _argsIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Args_ListArgs_1 :: T_Args_1- sem_Args_ListArgs_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _argsOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _argsOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _argsOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _argsOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _argsOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _argsOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _argsOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _argsOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _argsOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _argsOfuncName ->- ( case ( ( True- )- ) of- _argsOtopLevel ->- ( case ( ( True- )- ) of- _argsOinParentheses ->- ( case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOinParentheses _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOtopLevel _argsOvariableStyle) of- (_argsIglobalDefinitions, _argsIidentifier, _argsIisInModule, _argsImtokenPos, _argsIscopes, _argsIvariableStyle, _argsIwarnings) ->- ( case ( ( _argsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _argsIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _argsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _argsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _argsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _argsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _argsIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Args_ListArgs_1- )- ) of- (sem_Args_1) ->- (_lhsOcopy, sem_Args_1)- )- )- )- )-sem_Args_TableArg- :: T_FieldList- -> T_Args-sem_Args_TableArg arg_ =- ( case (arg_) of- (_argIcopy, arg_1) ->- ( case ( ( TableArg _argIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Args_TableArg_1 :: T_Args_1- sem_Args_TableArg_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _argOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _argOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _argOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _argOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _argOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _argOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _argOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _argOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _argOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _argOfuncName ->- ( case ( ( S.empty- )- ) of- _argOfieldNames ->- ( case (arg_1 _argOconfig _argOfieldNames _argOfuncName _argOglobalDefinitions _argOisInModule _argOisMeta _argOloopLevel _argOmtokenPos _argOscopeLevel _argOscopes _argOvariableStyle) of- (_argIfieldNames, _argIglobalDefinitions, _argIidentifier, _argIisInModule, _argImtokenPos, _argIscopes, _argIvariableStyle, _argIwarnings) ->- ( case ( ( _argIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _argIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _argIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _argImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _argIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _argIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _argIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Args_TableArg_1- )- ) of- (sem_Args_1) ->- (_lhsOcopy, sem_Args_1)- )- )- )- )-sem_Args_StringArg- :: T_MToken- -> T_Args-sem_Args_StringArg arg_ =- ( case (arg_) of- (_argIcopy, _argImtok, _argImtokenPos, arg_1) ->- ( case ( ( StringArg _argIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Args_StringArg_1 :: T_Args_1- sem_Args_StringArg_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _argOglobalDefinitions ->- ( case ( ( _lhsIscopes- )- ) of- _argOscopes ->- ( case ( ( _lhsImtokenPos- )- ) of- _argOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _argOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _argOisInModule ->- ( case ( ( _lhsIfuncName- )- ) of- _argOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _argOconfig ->- ( case (arg_1 _argOconfig _argOfuncName _argOglobalDefinitions _argOisInModule _argOisMeta _argOmtokenPos _argOscopes) of- (_argIglobalDefinitions, _argIidentifier, _argIisInModule, _argIscopes, _argIwarnings) ->- ( case ( ( _argIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _argIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _argIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _argImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _argIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _argIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Args_StringArg_1- )- ) of- (sem_Args_1) ->- (_lhsOcopy, sem_Args_1)- )- )- )- )---- BinOp ---------------------------------------------------------- cata-sem_BinOp- :: BinOp- -> T_BinOp-sem_BinOp (AOr) =- (sem_BinOp_AOr)-sem_BinOp (AAnd) =- (sem_BinOp_AAnd)-sem_BinOp (ALT) =- (sem_BinOp_ALT)-sem_BinOp (AGT) =- (sem_BinOp_AGT)-sem_BinOp (ALEQ) =- (sem_BinOp_ALEQ)-sem_BinOp (AGEQ) =- (sem_BinOp_AGEQ)-sem_BinOp (ANEq) =- (sem_BinOp_ANEq)-sem_BinOp (AEq) =- (sem_BinOp_AEq)-sem_BinOp (AConcatenate) =- (sem_BinOp_AConcatenate)-sem_BinOp (APlus) =- (sem_BinOp_APlus)-sem_BinOp (BinMinus) =- (sem_BinOp_BinMinus)-sem_BinOp (AMultiply) =- (sem_BinOp_AMultiply)-sem_BinOp (ADivide) =- (sem_BinOp_ADivide)-sem_BinOp (AModulus) =- (sem_BinOp_AModulus)-sem_BinOp (APower) =- (sem_BinOp_APower)---- semantic domain-type T_BinOp = (BinOp, T_BinOp_1)-type T_BinOp_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_BinOp = Inh_BinOp {config_Inh_BinOp :: LintSettings, funcName_Inh_BinOp :: String, globalDefinitions_Inh_BinOp :: (M.Map String [Region]), isInModule_Inh_BinOp :: Bool, isMeta_Inh_BinOp :: Bool, loopLevel_Inh_BinOp :: Int, mtokenPos_Inh_BinOp :: Region, scopeLevel_Inh_BinOp :: Int, scopes_Inh_BinOp :: ([M.Map String (Bool, Region)]), variableStyle_Inh_BinOp :: DeterminedVariableStyle}-data Syn_BinOp = Syn_BinOp {copy_Syn_BinOp :: BinOp, globalDefinitions_Syn_BinOp :: (M.Map String [Region]), identifier_Syn_BinOp :: String, isInModule_Syn_BinOp :: Bool, mtokenPos_Syn_BinOp :: Region, scopes_Syn_BinOp :: ([M.Map String (Bool, Region)]), variableStyle_Syn_BinOp :: DeterminedVariableStyle, warnings_Syn_BinOp :: ([String -> LintMessage])}-wrap_BinOp- :: T_BinOp- -> Inh_BinOp- -> Syn_BinOp-wrap_BinOp sem (Inh_BinOp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_BinOp _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_BinOp_AOr :: T_BinOp-sem_BinOp_AOr =- ( case ( ( AOr- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_AOr_1 :: T_BinOp_1- sem_BinOp_AOr_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_AOr_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_AAnd :: T_BinOp-sem_BinOp_AAnd =- ( case ( ( AAnd- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_AAnd_1 :: T_BinOp_1- sem_BinOp_AAnd_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_AAnd_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_ALT :: T_BinOp-sem_BinOp_ALT =- ( case ( ( ALT- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_ALT_1 :: T_BinOp_1- sem_BinOp_ALT_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_ALT_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_AGT :: T_BinOp-sem_BinOp_AGT =- ( case ( ( AGT- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_AGT_1 :: T_BinOp_1- sem_BinOp_AGT_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_AGT_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_ALEQ :: T_BinOp-sem_BinOp_ALEQ =- ( case ( ( ALEQ- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_ALEQ_1 :: T_BinOp_1- sem_BinOp_ALEQ_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_ALEQ_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_AGEQ :: T_BinOp-sem_BinOp_AGEQ =- ( case ( ( AGEQ- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_AGEQ_1 :: T_BinOp_1- sem_BinOp_AGEQ_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_AGEQ_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_ANEq :: T_BinOp-sem_BinOp_ANEq =- ( case ( ( ANEq- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_ANEq_1 :: T_BinOp_1- sem_BinOp_ANEq_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_ANEq_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_AEq :: T_BinOp-sem_BinOp_AEq =- ( case ( ( AEq- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_AEq_1 :: T_BinOp_1- sem_BinOp_AEq_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_AEq_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_AConcatenate :: T_BinOp-sem_BinOp_AConcatenate =- ( case ( ( AConcatenate- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_AConcatenate_1 :: T_BinOp_1- sem_BinOp_AConcatenate_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_AConcatenate_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_APlus :: T_BinOp-sem_BinOp_APlus =- ( case ( ( APlus- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_APlus_1 :: T_BinOp_1- sem_BinOp_APlus_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_APlus_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_BinMinus :: T_BinOp-sem_BinOp_BinMinus =- ( case ( ( BinMinus- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_BinMinus_1 :: T_BinOp_1- sem_BinOp_BinMinus_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_BinMinus_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_AMultiply :: T_BinOp-sem_BinOp_AMultiply =- ( case ( ( AMultiply- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_AMultiply_1 :: T_BinOp_1- sem_BinOp_AMultiply_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_AMultiply_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_ADivide :: T_BinOp-sem_BinOp_ADivide =- ( case ( ( ADivide- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_ADivide_1 :: T_BinOp_1- sem_BinOp_ADivide_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_ADivide_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_AModulus :: T_BinOp-sem_BinOp_AModulus =- ( case ( ( AModulus- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_AModulus_1 :: T_BinOp_1- sem_BinOp_AModulus_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_AModulus_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )-sem_BinOp_APower :: T_BinOp-sem_BinOp_APower =- ( case ( ( APower- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_BinOp_APower_1 :: T_BinOp_1- sem_BinOp_APower_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_BinOp_APower_1- )- ) of- (sem_BinOp_1) ->- (_lhsOcopy, sem_BinOp_1)- )- )- )---- Block ---------------------------------------------------------- cata-sem_Block- :: Block- -> T_Block-sem_Block (Block _stats _ret) =- (sem_Block_Block (sem_MStatList _stats) (sem_AReturn _ret))---- semantic domain-type T_Block = (Block, T_Block_1)-type T_Block_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), Int, DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_Block = Inh_Block {config_Inh_Block :: LintSettings, funcName_Inh_Block :: String, globalDefinitions_Inh_Block :: (M.Map String [Region]), isInModule_Inh_Block :: Bool, isMeta_Inh_Block :: Bool, isRepeat_Inh_Block :: Bool, loopLevel_Inh_Block :: Int, mtokenPos_Inh_Block :: Region, scopeLevel_Inh_Block :: Int, scopes_Inh_Block :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Block :: DeterminedVariableStyle}-data Syn_Block = Syn_Block {copy_Syn_Block :: Block, globalDefinitions_Syn_Block :: (M.Map String [Region]), identifier_Syn_Block :: String, isIfStatement_Syn_Block :: Bool, isInModule_Syn_Block :: Bool, mtokenPos_Syn_Block :: Region, scopes_Syn_Block :: ([M.Map String (Bool, Region)]), statementCount_Syn_Block :: Int, variableStyle_Syn_Block :: DeterminedVariableStyle, warnings_Syn_Block :: ([String -> LintMessage])}-wrap_Block- :: T_Block- -> Inh_Block- -> Syn_Block-wrap_Block sem (Inh_Block _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisRepeat _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisRepeat _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_Block _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings)- )-sem_Block_Block- :: T_MStatList- -> T_AReturn- -> T_Block-sem_Block_Block stats_ ret_ =- ( case (ret_) of- (_retIcopy, ret_1) ->- ( case (stats_) of- (_statsIcopy, stats_1) ->- ( case ( ( Block _statsIcopy _retIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Block_Block_1 :: T_Block_1- sem_Block_Block_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIisRepeat- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _statsOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _statsOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _statsOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _statsOvariableStyle ->- ( case ( ( _lhsImtokenPos- )- ) of- _statsOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _statsOloopLevel ->- ( case ( ( _lhsIisInModule- )- ) of- _statsOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _statsOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _statsOfuncName ->- ( case ( ( _lhsIscopeLevel + 1- )- ) of- _statsOscopeLevel ->- ( case (stats_1 _statsOconfig _statsOfuncName _statsOglobalDefinitions _statsOisInModule _statsOisMeta _statsOloopLevel _statsOmtokenPos _statsOscopeLevel _statsOscopes _statsOvariableStyle) of- (_statsIglobalDefinitions, _statsIidentifier, _statsIisIfStatement, _statsIisInModule, _statsImtokenPos, _statsIscopes, _statsIstatementCount, _statsIvariableStyle, _statsIwarnings) ->- ( case ( ( _statsIscopes- )- ) of- _retOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _retOisMeta ->- ( case ( ( _statsIisInModule- )- ) of- _retOisInModule ->- ( case ( ( _statsIglobalDefinitions- )- ) of- _retOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _retOconfig ->- ( case ( ( _statsIvariableStyle- )- ) of- _retOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _retOscopeLevel ->- ( case ( ( _statsImtokenPos- )- ) of- _retOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _retOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _retOfuncName ->- ( case (ret_1 _retOconfig _retOfuncName _retOglobalDefinitions _retOisInModule _retOisMeta _retOloopLevel _retOmtokenPos _retOscopeLevel _retOscopes _retOvariableStyle) of- (_retIglobalDefinitions, _retIidentifier, _retIisInModule, _retImtokenPos, _retIscopes, _retIstatementCount, _retIvariableStyle, _retIwarnings) ->- ( case ( ( _retIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _statsIidentifier _retIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _statsIisIfStatement- )- ) of- _lhsOisIfStatement ->- ( case ( ( _retIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _retImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( if _lhsIisRepeat then _retIscopes else tail _retIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _statsIstatementCount + _retIstatementCount- )- ) of- _lhsOstatementCount ->- ( case ( ( _retIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _statsIwarnings ++ _retIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( M.filterWithKey (\k (b, _) -> not (null k) && head k /= '_' && not b) (head _retIscopes)- )- ) of- _deadVars ->- ( case ( ( lint_maxScopeDepth _lhsIconfig- )- ) of- _maxScopeDepth ->- ( case ( ( if _maxScopeDepth == 0 || _lhsIscopeLevel /= _maxScopeDepth- then id- else (:) $ warn _statsImtokenPos ScopePyramids- )- ) of- _warnings_augmented_f2 ->- ( case ( ( if not (lint_unusedVars _lhsIconfig) || _lhsIisRepeat- then id- else (++) $ M.foldrWithKey (\k (_, pos) ls -> warn pos (UnusedVariable k) : ls) [] _deadVars- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Block_Block_1- )- ) of- (sem_Block_1) ->- (_lhsOcopy, sem_Block_1)- )- )- )- )- )---- Declaration ---------------------------------------------------- cata-sem_Declaration- :: Declaration- -> T_Declaration-sem_Declaration (x1, x2) =- (sem_Declaration_Tuple (sem_PrefixExp x1) (sem_MaybeMExpr x2))---- semantic domain-type T_Declaration = (Declaration, T_Declaration_1)-type T_Declaration_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_Declaration = Inh_Declaration {config_Inh_Declaration :: LintSettings, funcName_Inh_Declaration :: String, globalDefinitions_Inh_Declaration :: (M.Map String [Region]), isInModule_Inh_Declaration :: Bool, isMeta_Inh_Declaration :: Bool, localDefinition_Inh_Declaration :: Bool, loopLevel_Inh_Declaration :: Int, mtokenPos_Inh_Declaration :: Region, scopeLevel_Inh_Declaration :: Int, scopes_Inh_Declaration :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Declaration :: DeterminedVariableStyle}-data Syn_Declaration = Syn_Declaration {copy_Syn_Declaration :: Declaration, globalDefinitions_Syn_Declaration :: (M.Map String [Region]), identifier_Syn_Declaration :: String, isInModule_Syn_Declaration :: Bool, mtokenPos_Syn_Declaration :: Region, scopes_Syn_Declaration :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Declaration :: DeterminedVariableStyle, warnings_Syn_Declaration :: ([String -> LintMessage])}-wrap_Declaration- :: T_Declaration- -> Inh_Declaration- -> Syn_Declaration-wrap_Declaration sem (Inh_Declaration _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_Declaration _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_Declaration_Tuple- :: T_PrefixExp- -> T_MaybeMExpr- -> T_Declaration-sem_Declaration_Tuple x1_ x2_ =- ( case (x2_) of- (_x2Icopy, x2_1) ->- ( case (x1_) of- (_x1Icopy, _x1IhasSuffixes, _x1ImtokenPos, _x1IvarName, x1_1) ->- ( case ( ( (_x1Icopy, _x2Icopy)- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Declaration_Tuple_1 :: T_Declaration_1- sem_Declaration_Tuple_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIlocalDefinition- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIisMeta- )- ) of- _x1OisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _x1Oconfig ->- ( case ( ( tokenLabel . fromMaybe (error "fromMaybe sem Declaration loc.var") $ _x1IvarName- )- ) of- _var ->- ( case ( ( if _lhsIlocalDefinition- then M.insert _var (False, _x1ImtokenPos) (head _lhsIscopes) : tail _lhsIscopes- else- if isJust _x1IvarName- then registerVariable _lhsIscopes _x1ImtokenPos _var _x1IhasSuffixes- else _lhsIscopes- )- ) of- _x1Oscopes ->- ( case ( ( Nothing- )- ) of- _x1OvarBeingDefined ->- ( case ( ( False- )- ) of- _x1OregisterVarUse ->- ( case ( ( _lhsIvariableStyle- )- ) of- _x1OvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _x1OscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _x1OmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _x1OloopLevel ->- ( case ( ( _lhsIisInModule- )- ) of- _x1OisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _x1OglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _x1OfuncName ->- ( case ( ( False- )- ) of- _x1OtopLevel ->- ( case ( ( False- )- ) of- _x1OinParentheses ->- ( case ( ( False- )- ) of- _x1OisNegation ->- ( case (x1_1 _x1Oconfig _x1OfuncName _x1OglobalDefinitions _x1OinParentheses _x1OisInModule _x1OisMeta _x1OisNegation _x1OloopLevel _x1OmtokenPos _x1OregisterVarUse _x1OscopeLevel _x1Oscopes _x1OtopLevel _x1OvarBeingDefined _x1OvariableStyle) of- (_x1IglobalDefinitions, _x1Iidentifier, _x1IisInModule, _x1IisSimpleExpression, _x1IisSingleVar, _x1Iscopes, _x1IvariableStyle, _x1Iwarnings) ->- ( case ( ( _x1Iscopes- )- ) of- _x2Oscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _x2OisMeta ->- ( case ( ( _x1IisInModule- )- ) of- _x2OisInModule ->- ( case ( ( _x1IglobalDefinitions- )- ) of- _x2OglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _x2Oconfig ->- ( case ( ( if _x1IhasSuffixes || not _lhsIlocalDefinition then Nothing else _x1IvarName- )- ) of- _x2OvarBeingDefined ->- ( case ( ( _x1IvariableStyle- )- ) of- _x2OvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _x2OscopeLevel ->- ( case ( ( _x1ImtokenPos- )- ) of- _x2OmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _x2OloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _x2OfuncName ->- ( case ( ( False- )- ) of- _x2OisNegation ->- ( case (x2_1 _x2Oconfig _x2OfuncName _x2OglobalDefinitions _x2OisInModule _x2OisMeta _x2OisNegation _x2OloopLevel _x2OmtokenPos _x2OscopeLevel _x2Oscopes _x2OvarBeingDefined _x2OvariableStyle) of- (_x2IglobalDefinitions, _x2Iidentifier, _x2IisInModule, _x2IisSingleVar, _x2ImtokenPos, _x2Iscopes, _x2IvariableStyle, _x2Iwarnings) ->- ( case ( ( _x2IglobalDefinitions- )- ) of- _globalDefinitions_augmented_syn ->- ( case ( ( if _lhsIisInModule || _lhsIlocalDefinition || isVariableLocal _lhsIscopes _var || _x1IhasSuffixes- then id- else M.insertWith (++) _var [_x1ImtokenPos]- )- ) of- _globalDefinitions_augmented_f1 ->- ( case ( ( foldr ($) _globalDefinitions_augmented_syn [_globalDefinitions_augmented_f1]- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _x1Iidentifier _x2Iidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _x2IisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _x1ImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _x2Iscopes- )- ) of- _lhsOscopes ->- ( case ( ( determineVariableStyle _var- )- ) of- _varStyle ->- ( case ( ( if _lhsIlocalDefinition then combineDeterminedVarStyle _lhsIvariableStyle _varStyle else _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _x1Iwarnings ++ _x2Iwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( do- var <- _x1IvarName- if (Just var /= _x2IisSingleVar)- then checkShadows _lhsIscopes var- else Nothing- )- ) of- _shadowWarning ->- ( case ( ( if not (lint_shadowing _lhsIconfig) || not _lhsIlocalDefinition || isNothing _shadowWarning- then id- else (:) . fromMaybe (error "fromMaybe sem Declaration +warnings") $ _shadowWarning- )- ) of- _warnings_augmented_f2 ->- ( case ( ( if not (lint_inconsistentVariableStyle _lhsIconfig) || not _lhsIlocalDefinition || not (variableStyleInconsistent _lhsIvariableStyle _varStyle)- then id- else (:) $ warn _x1ImtokenPos InconsistentVariableNaming- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Declaration_Tuple_1- )- ) of- (sem_Declaration_1) ->- (_lhsOcopy, sem_Declaration_1)- )- )- )- )- )---- Else ----------------------------------------------------------- cata-sem_Else- :: Else- -> T_Else-sem_Else (Prelude.Just x) =- (sem_Else_Just (sem_MElse x))-sem_Else Prelude.Nothing =- sem_Else_Nothing---- semantic domain-type T_Else = (Else, T_Else_1)-type T_Else_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> (Bool, (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_Else = Inh_Else {config_Inh_Else :: LintSettings, funcName_Inh_Else :: String, globalDefinitions_Inh_Else :: (M.Map String [Region]), isInModule_Inh_Else :: Bool, isMeta_Inh_Else :: Bool, loopLevel_Inh_Else :: Int, mtokenPos_Inh_Else :: Region, scopeLevel_Inh_Else :: Int, scopes_Inh_Else :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Else :: DeterminedVariableStyle}-data Syn_Else = Syn_Else {copy_Syn_Else :: Else, elseExists_Syn_Else :: Bool, globalDefinitions_Syn_Else :: (M.Map String [Region]), identifier_Syn_Else :: String, isInModule_Syn_Else :: Bool, mtokenPos_Syn_Else :: Region, scopes_Syn_Else :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Else :: DeterminedVariableStyle, warnings_Syn_Else :: ([String -> LintMessage])}-wrap_Else- :: T_Else- -> Inh_Else- -> Syn_Else-wrap_Else sem (Inh_Else _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_Else _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_Else_Just- :: T_MElse- -> T_Else-sem_Else_Just just_ =- ( case (just_) of- (_justIcopy, just_1) ->- ( case ( ( Just _justIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Else_Just_1 :: T_Else_1- sem_Else_Just_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( True- )- ) of- _lhsOelseExists ->- ( case ( ( _lhsIisMeta- )- ) of- _justOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _justOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _justOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _justOconfig ->- ( case ( ( M.empty : _lhsIscopes- )- ) of- _justOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _justOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _justOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _justOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _justOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _justOfuncName ->- ( case (just_1 _justOconfig _justOfuncName _justOglobalDefinitions _justOisInModule _justOisMeta _justOloopLevel _justOmtokenPos _justOscopeLevel _justOscopes _justOvariableStyle) of- (_justIelseExists, _justIglobalDefinitions, _justIidentifier, _justIisInModule, _justImtokenPos, _justIscopes, _justIstatementCount, _justIvariableStyle, _justIwarnings) ->- ( case ( ( _justIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _justIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _justIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _justImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _justIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _justIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _justIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( Region (rgStart _justImtokenPos) (customAdvanceToken (rgStart _justImtokenPos) T.Else)- )- ) of- _keywordPos ->- ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _justIstatementCount > 0- then id- else (:) $ warn _keywordPos EmptyElse- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Else_Just_1- )- ) of- (sem_Else_1) ->- (_lhsOcopy, sem_Else_1)- )- )- )- )-sem_Else_Nothing :: T_Else-sem_Else_Nothing =- ( case ( ( Nothing- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Else_Nothing_1 :: T_Else_1- sem_Else_Nothing_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( False- )- ) of- _lhsOelseExists ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_Else_Nothing_1- )- ) of- (sem_Else_1) ->- (_lhsOcopy, sem_Else_1)- )- )- )---- ElseIf --------------------------------------------------------- cata-sem_ElseIf- :: ElseIf- -> T_ElseIf-sem_ElseIf (x1, x2) =- (sem_ElseIf_Tuple (sem_MExpr x1) (sem_Block x2))---- semantic domain-type T_ElseIf = (ElseIf, T_ElseIf_1)-type T_ElseIf_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_ElseIf = Inh_ElseIf {config_Inh_ElseIf :: LintSettings, funcName_Inh_ElseIf :: String, globalDefinitions_Inh_ElseIf :: (M.Map String [Region]), isInModule_Inh_ElseIf :: Bool, isMeta_Inh_ElseIf :: Bool, loopLevel_Inh_ElseIf :: Int, mtokenPos_Inh_ElseIf :: Region, scopeLevel_Inh_ElseIf :: Int, scopes_Inh_ElseIf :: ([M.Map String (Bool, Region)]), variableStyle_Inh_ElseIf :: DeterminedVariableStyle}-data Syn_ElseIf = Syn_ElseIf {copy_Syn_ElseIf :: ElseIf, globalDefinitions_Syn_ElseIf :: (M.Map String [Region]), identifier_Syn_ElseIf :: String, isInModule_Syn_ElseIf :: Bool, mtokenPos_Syn_ElseIf :: Region, scopes_Syn_ElseIf :: ([M.Map String (Bool, Region)]), variableStyle_Syn_ElseIf :: DeterminedVariableStyle, warnings_Syn_ElseIf :: ([String -> LintMessage])}-wrap_ElseIf- :: T_ElseIf- -> Inh_ElseIf- -> Syn_ElseIf-wrap_ElseIf sem (Inh_ElseIf _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_ElseIf _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_ElseIf_Tuple- :: T_MExpr- -> T_Block- -> T_ElseIf-sem_ElseIf_Tuple x1_ x2_ =- ( case (x2_) of- (_x2Icopy, x2_1) ->- ( case (x1_) of- (_x1Icopy, _x1ImtokenPos, x1_1) ->- ( case ( ( (_x1Icopy, _x2Icopy)- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_ElseIf_Tuple_1 :: T_ElseIf_1- sem_ElseIf_Tuple_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIisMeta- )- ) of- _x2OisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _x1OisInModule ->- ( case ( ( _lhsIvariableStyle- )- ) of- _x1OvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _x1Oscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _x1OscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _x1OmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _x1OloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _x1OisMeta ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _x1OglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _x1OfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _x1Oconfig ->- ( case ( ( Nothing- )- ) of- _x1OvarBeingDefined ->- ( case ( ( True- )- ) of- _x1OtopLevel ->- ( case ( ( False- )- ) of- _x1OinParentheses ->- ( case ( ( False- )- ) of- _x1OisNegation ->- ( case (x1_1 _x1Oconfig _x1OfuncName _x1OglobalDefinitions _x1OinParentheses _x1OisInModule _x1OisMeta _x1OisNegation _x1OloopLevel _x1OmtokenPos _x1OscopeLevel _x1Oscopes _x1OtopLevel _x1OvarBeingDefined _x1OvariableStyle) of- (_x1IglobalDefinitions, _x1Iidentifier, _x1IisInModule, _x1IisSimpleExpression, _x1IisSingleVar, _x1Iscopes, _x1IvariableStyle, _x1Iwarnings) ->- ( case ( ( _x1IisInModule- )- ) of- _x2OisInModule ->- ( case ( ( _x1IglobalDefinitions- )- ) of- _x2OglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _x2Oconfig ->- ( case ( ( M.empty : _x1Iscopes- )- ) of- _x2Oscopes ->- ( case ( ( _x1IvariableStyle- )- ) of- _x2OvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _x2OscopeLevel ->- ( case ( ( _x1ImtokenPos- )- ) of- _x2OmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _x2OloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _x2OfuncName ->- ( case ( ( False- )- ) of- _x2OisRepeat ->- ( case (x2_1 _x2Oconfig _x2OfuncName _x2OglobalDefinitions _x2OisInModule _x2OisMeta _x2OisRepeat _x2OloopLevel _x2OmtokenPos _x2OscopeLevel _x2Oscopes _x2OvariableStyle) of- (_x2IglobalDefinitions, _x2Iidentifier, _x2IisIfStatement, _x2IisInModule, _x2ImtokenPos, _x2Iscopes, _x2IstatementCount, _x2IvariableStyle, _x2Iwarnings) ->- ( case ( ( _x2IglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _x1Iidentifier _x2Iidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _x2IisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _x2ImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _x2Iscopes- )- ) of- _lhsOscopes ->- ( case ( ( _x2IvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _x1Iwarnings ++ _x2Iwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( Region (rgStart _lhsImtokenPos) (customAdvanceToken (rgStart _lhsImtokenPos) T.Elseif)- )- ) of- _keywordPos ->- ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _x2IstatementCount > 0- then id- else (:) $ warn _keywordPos EmptyElseIf- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_ElseIf_Tuple_1- )- ) of- (sem_ElseIf_1) ->- (_lhsOcopy, sem_ElseIf_1)- )- )- )- )- )---- ElseIfList ----------------------------------------------------- cata-sem_ElseIfList- :: ElseIfList- -> T_ElseIfList-sem_ElseIfList list =- (Prelude.foldr sem_ElseIfList_Cons sem_ElseIfList_Nil (Prelude.map sem_MElseIf list))---- semantic domain-type T_ElseIfList = (ElseIfList, T_ElseIfList_1)-type T_ElseIfList_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> (Bool, (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_ElseIfList = Inh_ElseIfList {config_Inh_ElseIfList :: LintSettings, funcName_Inh_ElseIfList :: String, globalDefinitions_Inh_ElseIfList :: (M.Map String [Region]), isInModule_Inh_ElseIfList :: Bool, isMeta_Inh_ElseIfList :: Bool, loopLevel_Inh_ElseIfList :: Int, mtokenPos_Inh_ElseIfList :: Region, scopeLevel_Inh_ElseIfList :: Int, scopes_Inh_ElseIfList :: ([M.Map String (Bool, Region)]), variableStyle_Inh_ElseIfList :: DeterminedVariableStyle}-data Syn_ElseIfList = Syn_ElseIfList {copy_Syn_ElseIfList :: ElseIfList, elseExists_Syn_ElseIfList :: Bool, globalDefinitions_Syn_ElseIfList :: (M.Map String [Region]), identifier_Syn_ElseIfList :: String, isInModule_Syn_ElseIfList :: Bool, mtokenPos_Syn_ElseIfList :: Region, scopes_Syn_ElseIfList :: ([M.Map String (Bool, Region)]), variableStyle_Syn_ElseIfList :: DeterminedVariableStyle, warnings_Syn_ElseIfList :: ([String -> LintMessage])}-wrap_ElseIfList- :: T_ElseIfList- -> Inh_ElseIfList- -> Syn_ElseIfList-wrap_ElseIfList sem (Inh_ElseIfList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_ElseIfList _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_ElseIfList_Cons- :: T_MElseIf- -> T_ElseIfList- -> T_ElseIfList-sem_ElseIfList_Cons hd_ tl_ =- ( case (tl_) of- (_tlIcopy, tl_1) ->- ( case (hd_) of- (_hdIcopy, hd_1) ->- ( case ( ( (:) _hdIcopy _tlIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_ElseIfList_Cons_1 :: T_ElseIfList_1- sem_ElseIfList_Cons_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( True- )- ) of- _lhsOelseExists ->- ( case ( ( _lhsIscopes- )- ) of- _hdOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _hdOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _hdOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _hdOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _hdOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _hdOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _hdOloopLevel ->- ( case ( ( _lhsIisInModule- )- ) of- _hdOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _hdOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _hdOfuncName ->- ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of- (_hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdImtokenPos, _hdIscopes, _hdIvariableStyle, _hdIwarnings) ->- ( case ( ( _hdIscopes- )- ) of- _tlOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _tlOisMeta ->- ( case ( ( _hdIisInModule- )- ) of- _tlOisInModule ->- ( case ( ( _hdIglobalDefinitions- )- ) of- _tlOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _tlOconfig ->- ( case ( ( _hdIvariableStyle- )- ) of- _tlOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _tlOscopeLevel ->- ( case ( ( _hdImtokenPos- )- ) of- _tlOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _tlOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _tlOfuncName ->- ( case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of- (_tlIelseExists, _tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIvariableStyle, _tlIwarnings) ->- ( case ( ( _tlIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _hdIidentifier _tlIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _tlIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _tlImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _tlIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _tlIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _hdIwarnings ++ _tlIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_ElseIfList_Cons_1- )- ) of- (sem_ElseIfList_1) ->- (_lhsOcopy, sem_ElseIfList_1)- )- )- )- )- )-sem_ElseIfList_Nil :: T_ElseIfList-sem_ElseIfList_Nil =- ( case ( ( []- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_ElseIfList_Nil_1 :: T_ElseIfList_1- sem_ElseIfList_Nil_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( False- )- ) of- _lhsOelseExists ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_ElseIfList_Nil_1- )- ) of- (sem_ElseIfList_1) ->- (_lhsOcopy, sem_ElseIfList_1)- )- )- )---- Expr ----------------------------------------------------------- cata-sem_Expr- :: Expr- -> T_Expr-sem_Expr (ANil) =- (sem_Expr_ANil)-sem_Expr (AFalse) =- (sem_Expr_AFalse)-sem_Expr (ATrue) =- (sem_Expr_ATrue)-sem_Expr (ANumber _num) =- (sem_Expr_ANumber _num)-sem_Expr (AString _str) =- (sem_Expr_AString (sem_MToken _str))-sem_Expr (AVarArg) =- (sem_Expr_AVarArg)-sem_Expr (AnonymousFunc _pars _body) =- (sem_Expr_AnonymousFunc _pars (sem_Block _body))-sem_Expr (APrefixExpr _pexpr) =- (sem_Expr_APrefixExpr (sem_PrefixExp _pexpr))-sem_Expr (ATableConstructor _fields) =- (sem_Expr_ATableConstructor (sem_FieldList _fields))-sem_Expr (BinOpExpr _op _left _right) =- (sem_Expr_BinOpExpr (sem_BinOp _op) (sem_MExpr _left) (sem_MExpr _right))-sem_Expr (UnOpExpr _op _right) =- (sem_Expr_UnOpExpr (sem_UnOp _op) (sem_MExpr _right))---- semantic domain-type T_Expr = (Expr, T_Expr_1)-type T_Expr_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> Bool- -> (Maybe MToken)- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Bool, (Maybe MToken), Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_Expr = Inh_Expr {config_Inh_Expr :: LintSettings, funcName_Inh_Expr :: String, globalDefinitions_Inh_Expr :: (M.Map String [Region]), inParentheses_Inh_Expr :: Bool, isInModule_Inh_Expr :: Bool, isMeta_Inh_Expr :: Bool, isNegation_Inh_Expr :: Bool, loopLevel_Inh_Expr :: Int, mtokenPos_Inh_Expr :: Region, scopeLevel_Inh_Expr :: Int, scopes_Inh_Expr :: ([M.Map String (Bool, Region)]), topLevel_Inh_Expr :: Bool, varBeingDefined_Inh_Expr :: (Maybe MToken), variableStyle_Inh_Expr :: DeterminedVariableStyle}-data Syn_Expr = Syn_Expr {copy_Syn_Expr :: Expr, globalDefinitions_Syn_Expr :: (M.Map String [Region]), identifier_Syn_Expr :: String, isInModule_Syn_Expr :: Bool, isSimpleExpression_Syn_Expr :: Bool, isSingleVar_Syn_Expr :: (Maybe MToken), mtokenPos_Syn_Expr :: Region, scopes_Syn_Expr :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Expr :: DeterminedVariableStyle, warnings_Syn_Expr :: ([String -> LintMessage])}-wrap_Expr- :: T_Expr- -> Inh_Expr- -> Syn_Expr-wrap_Expr sem (Inh_Expr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle- in- (Syn_Expr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_Expr_ANil :: T_Expr-sem_Expr_ANil =- ( case ( ( ANil- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_ANil_1 :: T_Expr_1- sem_Expr_ANil_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( True- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_ANil_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )-sem_Expr_AFalse :: T_Expr-sem_Expr_AFalse =- ( case ( ( AFalse- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_AFalse_1 :: T_Expr_1- sem_Expr_AFalse_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( True- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_AFalse_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )-sem_Expr_ATrue :: T_Expr-sem_Expr_ATrue =- ( case ( ( ATrue- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_ATrue_1 :: T_Expr_1- sem_Expr_ATrue_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( True- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_ATrue_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )-sem_Expr_ANumber- :: String- -> T_Expr-sem_Expr_ANumber num_ =- ( case ( ( ANumber num_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_ANumber_1 :: T_Expr_1- sem_Expr_ANumber_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( True- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_ANumber_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )-sem_Expr_AString- :: T_MToken- -> T_Expr-sem_Expr_AString str_ =- ( case (str_) of- (_strIcopy, _strImtok, _strImtokenPos, str_1) ->- ( case ( ( AString _strIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_AString_1 :: T_Expr_1- sem_Expr_AString_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _strOglobalDefinitions ->- ( case ( ( _lhsIscopes- )- ) of- _strOscopes ->- ( case ( ( _lhsImtokenPos- )- ) of- _strOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _strOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _strOisInModule ->- ( case ( ( _lhsIfuncName- )- ) of- _strOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _strOconfig ->- ( case (str_1 _strOconfig _strOfuncName _strOglobalDefinitions _strOisInModule _strOisMeta _strOmtokenPos _strOscopes) of- (_strIglobalDefinitions, _strIidentifier, _strIisInModule, _strIscopes, _strIwarnings) ->- ( case ( ( _strIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _strIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _strIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( True- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _strImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _strIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _strIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_AString_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )- )-sem_Expr_AVarArg :: T_Expr-sem_Expr_AVarArg =- ( case ( ( AVarArg- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_AVarArg_1 :: T_Expr_1- sem_Expr_AVarArg_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( False- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_AVarArg_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )-sem_Expr_AnonymousFunc- :: ([MToken])- -> T_Block- -> T_Expr-sem_Expr_AnonymousFunc pars_ body_ =- ( case (body_) of- (_bodyIcopy, body_1) ->- ( case ( ( AnonymousFunc pars_ _bodyIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_AnonymousFunc_1 :: T_Expr_1- sem_Expr_AnonymousFunc_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIisInModule- )- ) of- _bodyOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _bodyOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _bodyOconfig ->- ( case ( ( _lhsIisMeta || findSelf pars_- )- ) of- _bodyOisMeta ->- ( case ( ( M.fromList $ map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) pars_- )- ) of- _introduces ->- ( case ( ( _introduces : _lhsIscopes- )- ) of- _bodyOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _bodyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _bodyOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _bodyOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _bodyOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _bodyOfuncName ->- ( case ( ( False- )- ) of- _bodyOisRepeat ->- ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of- (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->- ( case ( ( _bodyIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _bodyIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _bodyIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( True- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _bodyImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _bodyIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _bodyIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _bodyIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( filter (/= MToken emptyRg VarArg) $ pars_- )- ) of- _argIdentifiers ->- ( case ( ( if not (lint_shadowing _lhsIconfig)- then id- else (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_AnonymousFunc_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )- )-sem_Expr_APrefixExpr- :: T_PrefixExp- -> T_Expr-sem_Expr_APrefixExpr pexpr_ =- ( case (pexpr_) of- (_pexprIcopy, _pexprIhasSuffixes, _pexprImtokenPos, _pexprIvarName, pexpr_1) ->- ( case ( ( APrefixExpr _pexprIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_APrefixExpr_1 :: T_Expr_1- sem_Expr_APrefixExpr_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIvarBeingDefined- )- ) of- _pexprOvarBeingDefined ->- ( case ( ( _lhsIscopes- )- ) of- _pexprOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _pexprOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _pexprOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _pexprOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _pexprOconfig ->- ( case ( ( True- )- ) of- _pexprOregisterVarUse ->- ( case ( ( _lhsIvariableStyle- )- ) of- _pexprOvariableStyle ->- ( case ( ( _lhsItopLevel- )- ) of- _pexprOtopLevel ->- ( case ( ( _lhsIscopeLevel- )- ) of- _pexprOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _pexprOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _pexprOloopLevel ->- ( case ( ( _lhsIisNegation- )- ) of- _pexprOisNegation ->- ( case ( ( _lhsIinParentheses- )- ) of- _pexprOinParentheses ->- ( case ( ( _lhsIfuncName- )- ) of- _pexprOfuncName ->- ( case (pexpr_1 _pexprOconfig _pexprOfuncName _pexprOglobalDefinitions _pexprOinParentheses _pexprOisInModule _pexprOisMeta _pexprOisNegation _pexprOloopLevel _pexprOmtokenPos _pexprOregisterVarUse _pexprOscopeLevel _pexprOscopes _pexprOtopLevel _pexprOvarBeingDefined _pexprOvariableStyle) of- (_pexprIglobalDefinitions, _pexprIidentifier, _pexprIisInModule, _pexprIisSimpleExpression, _pexprIisSingleVar, _pexprIscopes, _pexprIvariableStyle, _pexprIwarnings) ->- ( case ( ( _pexprIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _pexprIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _pexprIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _pexprIisSimpleExpression- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( _pexprIisSingleVar- )- ) of- _lhsOisSingleVar ->- ( case ( ( _pexprImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _pexprIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _pexprIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _pexprIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_APrefixExpr_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )- )-sem_Expr_ATableConstructor- :: T_FieldList- -> T_Expr-sem_Expr_ATableConstructor fields_ =- ( case (fields_) of- (_fieldsIcopy, fields_1) ->- ( case ( ( ATableConstructor _fieldsIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_ATableConstructor_1 :: T_Expr_1- sem_Expr_ATableConstructor_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _fieldsOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _fieldsOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _fieldsOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _fieldsOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _fieldsOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _fieldsOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _fieldsOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _fieldsOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _fieldsOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _fieldsOfuncName ->- ( case ( ( S.empty- )- ) of- _fieldsOfieldNames ->- ( case (fields_1 _fieldsOconfig _fieldsOfieldNames _fieldsOfuncName _fieldsOglobalDefinitions _fieldsOisInModule _fieldsOisMeta _fieldsOloopLevel _fieldsOmtokenPos _fieldsOscopeLevel _fieldsOscopes _fieldsOvariableStyle) of- (_fieldsIfieldNames, _fieldsIglobalDefinitions, _fieldsIidentifier, _fieldsIisInModule, _fieldsImtokenPos, _fieldsIscopes, _fieldsIvariableStyle, _fieldsIwarnings) ->- ( case ( ( _fieldsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _fieldsIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _fieldsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( True- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _fieldsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _fieldsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _fieldsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _fieldsIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_ATableConstructor_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )- )-sem_Expr_BinOpExpr- :: T_BinOp- -> T_MExpr- -> T_MExpr- -> T_Expr-sem_Expr_BinOpExpr op_ left_ right_ =- ( case (right_) of- (_rightIcopy, _rightImtokenPos, right_1) ->- ( case (left_) of- (_leftIcopy, _leftImtokenPos, left_1) ->- ( case (op_) of- (_opIcopy, op_1) ->- ( case ( ( BinOpExpr _opIcopy _leftIcopy _rightIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_BinOpExpr_1 :: T_Expr_1- sem_Expr_BinOpExpr_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _opOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _opOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _opOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _opOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _opOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _opOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _opOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _opOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _opOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _opOconfig ->- ( case (op_1 _opOconfig _opOfuncName _opOglobalDefinitions _opOisInModule _opOisMeta _opOloopLevel _opOmtokenPos _opOscopeLevel _opOscopes _opOvariableStyle) of- (_opIglobalDefinitions, _opIidentifier, _opIisInModule, _opImtokenPos, _opIscopes, _opIvariableStyle, _opIwarnings) ->- ( case ( ( _opIscopes- )- ) of- _leftOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _leftOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _leftOconfig ->- ( case ( ( Nothing- )- ) of- _leftOvarBeingDefined ->- ( case ( ( _opIvariableStyle- )- ) of- _leftOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _leftOscopeLevel ->- ( case ( ( _opImtokenPos- )- ) of- _leftOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _leftOloopLevel ->- ( case ( ( _opIisInModule- )- ) of- _leftOisInModule ->- ( case ( ( _opIglobalDefinitions- )- ) of- _leftOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _leftOfuncName ->- ( case ( ( False- )- ) of- _leftOtopLevel ->- ( case ( ( False- )- ) of- _leftOinParentheses ->- ( case ( ( False- )- ) of- _leftOisNegation ->- ( case (left_1 _leftOconfig _leftOfuncName _leftOglobalDefinitions _leftOinParentheses _leftOisInModule _leftOisMeta _leftOisNegation _leftOloopLevel _leftOmtokenPos _leftOscopeLevel _leftOscopes _leftOtopLevel _leftOvarBeingDefined _leftOvariableStyle) of- (_leftIglobalDefinitions, _leftIidentifier, _leftIisInModule, _leftIisSimpleExpression, _leftIisSingleVar, _leftIscopes, _leftIvariableStyle, _leftIwarnings) ->- ( case ( ( _leftIscopes- )- ) of- _rightOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _rightOisMeta ->- ( case ( ( _leftIisInModule- )- ) of- _rightOisInModule ->- ( case ( ( _leftIglobalDefinitions- )- ) of- _rightOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _rightOconfig ->- ( case ( ( Nothing- )- ) of- _rightOvarBeingDefined ->- ( case ( ( _leftIvariableStyle- )- ) of- _rightOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _rightOscopeLevel ->- ( case ( ( _leftImtokenPos- )- ) of- _rightOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _rightOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _rightOfuncName ->- ( case ( ( False- )- ) of- _rightOtopLevel ->- ( case ( ( False- )- ) of- _rightOinParentheses ->- ( case ( ( False- )- ) of- _rightOisNegation ->- ( case (right_1 _rightOconfig _rightOfuncName _rightOglobalDefinitions _rightOinParentheses _rightOisInModule _rightOisMeta _rightOisNegation _rightOloopLevel _rightOmtokenPos _rightOscopeLevel _rightOscopes _rightOtopLevel _rightOvarBeingDefined _rightOvariableStyle) of- (_rightIglobalDefinitions, _rightIidentifier, _rightIisInModule, _rightIisSimpleExpression, _rightIisSingleVar, _rightIscopes, _rightIvariableStyle, _rightIwarnings) ->- ( case ( ( _rightIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _opIidentifier (const _leftIidentifier _rightIidentifier))- )- ) of- _lhsOidentifier ->- ( case ( ( _rightIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( False- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( (const (const Nothing) _leftIisSingleVar _rightIisSingleVar)- )- ) of- _lhsOisSingleVar ->- ( case ( ( _rightImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _rightIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _rightIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _opIwarnings ++ _leftIwarnings ++ _rightIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( oppositeBinOp _opIcopy- )- ) of- _stupidNegation ->- ( case ( ( if not (lint_doubleNegations _lhsIconfig) || not _lhsIisNegation || isNothing _stupidNegation- then id- else (:) $ warn _lhsImtokenPos $ SillyNegation $ fromMaybe (error "fromMaybe sem Expr loc.stupidNegation") _stupidNegation- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_BinOpExpr_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )- )- )- )-sem_Expr_UnOpExpr- :: T_UnOp- -> T_MExpr- -> T_Expr-sem_Expr_UnOpExpr op_ right_ =- ( case (right_) of- (_rightIcopy, _rightImtokenPos, right_1) ->- ( case (op_) of- (_opIcopy, op_1) ->- ( case ( ( UnOpExpr _opIcopy _rightIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Expr_UnOpExpr_1 :: T_Expr_1- sem_Expr_UnOpExpr_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _opOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _opOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _opOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _opOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _opOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _opOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _opOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _opOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _opOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _opOconfig ->- ( case (op_1 _opOconfig _opOfuncName _opOglobalDefinitions _opOisInModule _opOisMeta _opOloopLevel _opOmtokenPos _opOscopeLevel _opOscopes _opOvariableStyle) of- (_opIglobalDefinitions, _opIidentifier, _opIisInModule, _opIisNegation, _opImtokenPos, _opIscopes, _opIvariableStyle, _opIwarnings) ->- ( case ( ( _opIscopes- )- ) of- _rightOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _rightOisMeta ->- ( case ( ( _opIisInModule- )- ) of- _rightOisInModule ->- ( case ( ( _opIglobalDefinitions- )- ) of- _rightOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _rightOconfig ->- ( case ( ( Nothing- )- ) of- _rightOvarBeingDefined ->- ( case ( ( _opIvariableStyle- )- ) of- _rightOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _rightOscopeLevel ->- ( case ( ( _opImtokenPos- )- ) of- _rightOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _rightOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _rightOfuncName ->- ( case ( ( False- )- ) of- _rightOtopLevel ->- ( case ( ( False- )- ) of- _rightOinParentheses ->- ( case ( ( _opIisNegation- )- ) of- _rightOisNegation ->- ( case (right_1 _rightOconfig _rightOfuncName _rightOglobalDefinitions _rightOinParentheses _rightOisInModule _rightOisMeta _rightOisNegation _rightOloopLevel _rightOmtokenPos _rightOscopeLevel _rightOscopes _rightOtopLevel _rightOvarBeingDefined _rightOvariableStyle) of- (_rightIglobalDefinitions, _rightIidentifier, _rightIisInModule, _rightIisSimpleExpression, _rightIisSingleVar, _rightIscopes, _rightIvariableStyle, _rightIwarnings) ->- ( case ( ( _rightIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _opIidentifier _rightIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _rightIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( False- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( _rightIisSingleVar- )- ) of- _lhsOisSingleVar ->- ( case ( ( _rightImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _rightIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _rightIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _opIwarnings ++ _rightIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Expr_UnOpExpr_1- )- ) of- (sem_Expr_1) ->- (_lhsOcopy, sem_Expr_1)- )- )- )- )- )---- ExprSuffixList ------------------------------------------------- cata-sem_ExprSuffixList- :: ExprSuffixList- -> T_ExprSuffixList-sem_ExprSuffixList list =- (Prelude.foldr sem_ExprSuffixList_Cons sem_ExprSuffixList_Nil (Prelude.map sem_PFExprSuffix list))---- semantic domain-type T_ExprSuffixList = (ExprSuffixList, T_ExprSuffixList_1)-type T_ExprSuffixList_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_ExprSuffixList = Inh_ExprSuffixList {config_Inh_ExprSuffixList :: LintSettings, funcName_Inh_ExprSuffixList :: String, globalDefinitions_Inh_ExprSuffixList :: (M.Map String [Region]), isInModule_Inh_ExprSuffixList :: Bool, isMeta_Inh_ExprSuffixList :: Bool, loopLevel_Inh_ExprSuffixList :: Int, mtokenPos_Inh_ExprSuffixList :: Region, scopeLevel_Inh_ExprSuffixList :: Int, scopes_Inh_ExprSuffixList :: ([M.Map String (Bool, Region)]), variableStyle_Inh_ExprSuffixList :: DeterminedVariableStyle}-data Syn_ExprSuffixList = Syn_ExprSuffixList {copy_Syn_ExprSuffixList :: ExprSuffixList, globalDefinitions_Syn_ExprSuffixList :: (M.Map String [Region]), identifier_Syn_ExprSuffixList :: String, isInModule_Syn_ExprSuffixList :: Bool, isSimpleExpression_Syn_ExprSuffixList :: Bool, mtokenPos_Syn_ExprSuffixList :: Region, scopes_Syn_ExprSuffixList :: ([M.Map String (Bool, Region)]), variableStyle_Syn_ExprSuffixList :: DeterminedVariableStyle, warnings_Syn_ExprSuffixList :: ([String -> LintMessage])}-wrap_ExprSuffixList- :: T_ExprSuffixList- -> Inh_ExprSuffixList- -> Syn_ExprSuffixList-wrap_ExprSuffixList sem (Inh_ExprSuffixList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_ExprSuffixList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_ExprSuffixList_Cons- :: T_PFExprSuffix- -> T_ExprSuffixList- -> T_ExprSuffixList-sem_ExprSuffixList_Cons hd_ tl_ =- ( case (tl_) of- (_tlIcopy, tl_1) ->- ( case (hd_) of- (_hdIcopy, hd_1) ->- ( case ( ( (:) _hdIcopy _tlIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_ExprSuffixList_Cons_1 :: T_ExprSuffixList_1- sem_ExprSuffixList_Cons_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _hdOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _hdOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _hdOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _hdOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _hdOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _hdOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _hdOloopLevel ->- ( case ( ( _lhsIisInModule- )- ) of- _hdOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _hdOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _hdOfuncName ->- ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of- (_hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdIisSimpleExpression, _hdImtokenPos, _hdIscopes, _hdIvariableStyle, _hdIwarnings) ->- ( case ( ( _hdIscopes- )- ) of- _tlOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _tlOisMeta ->- ( case ( ( _hdIisInModule- )- ) of- _tlOisInModule ->- ( case ( ( _hdIglobalDefinitions- )- ) of- _tlOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _tlOconfig ->- ( case ( ( _hdIvariableStyle- )- ) of- _tlOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _tlOscopeLevel ->- ( case ( ( _hdImtokenPos- )- ) of- _tlOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _tlOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _tlOfuncName ->- ( case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of- (_tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlIisSimpleExpression, _tlImtokenPos, _tlIscopes, _tlIvariableStyle, _tlIwarnings) ->- ( case ( ( _tlIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _hdIidentifier _tlIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _tlIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _hdIisSimpleExpression && _tlIisSimpleExpression- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( _tlImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _tlIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _tlIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _hdIwarnings ++ _tlIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_ExprSuffixList_Cons_1- )- ) of- (sem_ExprSuffixList_1) ->- (_lhsOcopy, sem_ExprSuffixList_1)- )- )- )- )- )-sem_ExprSuffixList_Nil :: T_ExprSuffixList-sem_ExprSuffixList_Nil =- ( case ( ( []- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_ExprSuffixList_Nil_1 :: T_ExprSuffixList_1- sem_ExprSuffixList_Nil_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( True- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_ExprSuffixList_Nil_1- )- ) of- (sem_ExprSuffixList_1) ->- (_lhsOcopy, sem_ExprSuffixList_1)- )- )- )---- Field ---------------------------------------------------------- cata-sem_Field- :: Field- -> T_Field-sem_Field (ExprField _key _value _sep) =- (sem_Field_ExprField (sem_MExpr _key) (sem_MExpr _value) (sem_FieldSep _sep))-sem_Field (NamedField _key _value _sep) =- (sem_Field_NamedField (sem_MToken _key) (sem_MExpr _value) (sem_FieldSep _sep))-sem_Field (UnnamedField _value _sep) =- (sem_Field_UnnamedField (sem_MExpr _value) (sem_FieldSep _sep))---- semantic domain-type T_Field = (Field, T_Field_1)-type T_Field_1 =- LintSettings- -> (S.Set Token)- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((S.Set Token), (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_Field = Inh_Field {config_Inh_Field :: LintSettings, fieldNames_Inh_Field :: (S.Set Token), funcName_Inh_Field :: String, globalDefinitions_Inh_Field :: (M.Map String [Region]), isInModule_Inh_Field :: Bool, isMeta_Inh_Field :: Bool, loopLevel_Inh_Field :: Int, mtokenPos_Inh_Field :: Region, scopeLevel_Inh_Field :: Int, scopes_Inh_Field :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Field :: DeterminedVariableStyle}-data Syn_Field = Syn_Field {copy_Syn_Field :: Field, fieldNames_Syn_Field :: (S.Set Token), globalDefinitions_Syn_Field :: (M.Map String [Region]), identifier_Syn_Field :: String, isInModule_Syn_Field :: Bool, mtokenPos_Syn_Field :: Region, scopes_Syn_Field :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Field :: DeterminedVariableStyle, warnings_Syn_Field :: ([String -> LintMessage])}-wrap_Field- :: T_Field- -> Inh_Field- -> Syn_Field-wrap_Field sem (Inh_Field _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_Field _lhsOcopy _lhsOfieldNames _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_Field_ExprField- :: T_MExpr- -> T_MExpr- -> T_FieldSep- -> T_Field-sem_Field_ExprField key_ value_ sep_ =- ( case (sep_) of- (_sepIcopy, sep_1) ->- ( case (value_) of- (_valueIcopy, _valueImtokenPos, value_1) ->- ( case (key_) of- (_keyIcopy, _keyImtokenPos, key_1) ->- ( case ( ( ExprField _keyIcopy _valueIcopy _sepIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Field_ExprField_1 :: T_Field_1- sem_Field_ExprField_1 =- ( \_lhsIconfig- _lhsIfieldNames- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIfieldNames- )- ) of- _lhsOfieldNames ->- ( case ( ( _lhsIscopes- )- ) of- _keyOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _keyOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _keyOconfig ->- ( case ( ( Nothing- )- ) of- _keyOvarBeingDefined ->- ( case ( ( _lhsIvariableStyle- )- ) of- _keyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _keyOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _keyOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _keyOloopLevel ->- ( case ( ( _lhsIisInModule- )- ) of- _keyOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _keyOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _keyOfuncName ->- ( case ( ( True- )- ) of- _keyOtopLevel ->- ( case ( ( True- )- ) of- _keyOinParentheses ->- ( case ( ( False- )- ) of- _keyOisNegation ->- ( case (key_1 _keyOconfig _keyOfuncName _keyOglobalDefinitions _keyOinParentheses _keyOisInModule _keyOisMeta _keyOisNegation _keyOloopLevel _keyOmtokenPos _keyOscopeLevel _keyOscopes _keyOtopLevel _keyOvarBeingDefined _keyOvariableStyle) of- (_keyIglobalDefinitions, _keyIidentifier, _keyIisInModule, _keyIisSimpleExpression, _keyIisSingleVar, _keyIscopes, _keyIvariableStyle, _keyIwarnings) ->- ( case ( ( _keyIscopes- )- ) of- _valueOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _valueOisMeta ->- ( case ( ( _keyIisInModule- )- ) of- _valueOisInModule ->- ( case ( ( _keyIglobalDefinitions- )- ) of- _valueOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _valueOconfig ->- ( case ( ( Nothing- )- ) of- _valueOvarBeingDefined ->- ( case ( ( _keyIvariableStyle- )- ) of- _valueOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _valueOscopeLevel ->- ( case ( ( _keyImtokenPos- )- ) of- _valueOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _valueOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _valueOfuncName ->- ( case ( ( True- )- ) of- _valueOtopLevel ->- ( case ( ( True- )- ) of- _valueOinParentheses ->- ( case ( ( False- )- ) of- _valueOisNegation ->- ( case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of- (_valueIglobalDefinitions, _valueIidentifier, _valueIisInModule, _valueIisSimpleExpression, _valueIisSingleVar, _valueIscopes, _valueIvariableStyle, _valueIwarnings) ->- ( case ( ( _valueIglobalDefinitions- )- ) of- _sepOglobalDefinitions ->- ( case ( ( _valueIvariableStyle- )- ) of- _sepOvariableStyle ->- ( case ( ( _valueIscopes- )- ) of- _sepOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _sepOscopeLevel ->- ( case ( ( _valueImtokenPos- )- ) of- _sepOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _sepOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _sepOisMeta ->- ( case ( ( _valueIisInModule- )- ) of- _sepOisInModule ->- ( case ( ( _lhsIfuncName- )- ) of- _sepOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _sepOconfig ->- ( case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of- (_sepIglobalDefinitions, _sepIidentifier, _sepIisInModule, _sepImtokenPos, _sepIscopes, _sepIvariableStyle, _sepIwarnings) ->- ( case ( ( _sepIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _keyIidentifier (const _valueIidentifier _sepIidentifier))- )- ) of- _lhsOidentifier ->- ( case ( ( _sepIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _keyImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _sepIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _sepIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _keyIwarnings ++ _valueIwarnings ++ _sepIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Field_ExprField_1- )- ) of- (sem_Field_1) ->- (_lhsOcopy, sem_Field_1)- )- )- )- )- )- )-sem_Field_NamedField- :: T_MToken- -> T_MExpr- -> T_FieldSep- -> T_Field-sem_Field_NamedField key_ value_ sep_ =- ( case (sep_) of- (_sepIcopy, sep_1) ->- ( case (value_) of- (_valueIcopy, _valueImtokenPos, value_1) ->- ( case (key_) of- (_keyIcopy, _keyImtok, _keyImtokenPos, key_1) ->- ( case ( ( NamedField _keyIcopy _valueIcopy _sepIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Field_NamedField_1 :: T_Field_1- sem_Field_NamedField_1 =- ( \_lhsIconfig- _lhsIfieldNames- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( S.insert _keyImtok _lhsIfieldNames- )- ) of- _lhsOfieldNames ->- ( case ( ( _lhsIscopes- )- ) of- _keyOscopes ->- ( case ( ( _keyImtokenPos- )- ) of- _mtokenPos ->- ( case ( ( _mtokenPos- )- ) of- _keyOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _keyOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _keyOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _keyOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _keyOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _keyOconfig ->- ( case (key_1 _keyOconfig _keyOfuncName _keyOglobalDefinitions _keyOisInModule _keyOisMeta _keyOmtokenPos _keyOscopes) of- (_keyIglobalDefinitions, _keyIidentifier, _keyIisInModule, _keyIscopes, _keyIwarnings) ->- ( case ( ( _keyIscopes- )- ) of- _valueOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _valueOisMeta ->- ( case ( ( _keyIisInModule- )- ) of- _valueOisInModule ->- ( case ( ( _keyIglobalDefinitions- )- ) of- _valueOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _valueOconfig ->- ( case ( ( Nothing- )- ) of- _valueOvarBeingDefined ->- ( case ( ( _lhsIvariableStyle- )- ) of- _valueOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _valueOscopeLevel ->- ( case ( ( _mtokenPos- )- ) of- _valueOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _valueOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _valueOfuncName ->- ( case ( ( True- )- ) of- _valueOtopLevel ->- ( case ( ( True- )- ) of- _valueOinParentheses ->- ( case ( ( False- )- ) of- _valueOisNegation ->- ( case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of- (_valueIglobalDefinitions, _valueIidentifier, _valueIisInModule, _valueIisSimpleExpression, _valueIisSingleVar, _valueIscopes, _valueIvariableStyle, _valueIwarnings) ->- ( case ( ( _valueIglobalDefinitions- )- ) of- _sepOglobalDefinitions ->- ( case ( ( _valueIvariableStyle- )- ) of- _sepOvariableStyle ->- ( case ( ( _valueIscopes- )- ) of- _sepOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _sepOscopeLevel ->- ( case ( ( _mtokenPos- )- ) of- _sepOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _sepOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _sepOisMeta ->- ( case ( ( _valueIisInModule- )- ) of- _sepOisInModule ->- ( case ( ( _lhsIfuncName- )- ) of- _sepOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _sepOconfig ->- ( case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of- (_sepIglobalDefinitions, _sepIidentifier, _sepIisInModule, _sepImtokenPos, _sepIscopes, _sepIvariableStyle, _sepIwarnings) ->- ( case ( ( _sepIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _keyIidentifier (const _valueIidentifier _sepIidentifier))- )- ) of- _lhsOidentifier ->- ( case ( ( _sepIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _mtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _sepIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _sepIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _keyIwarnings ++ _valueIwarnings ++ _sepIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( if not (lint_duplicateTableKeys _lhsIconfig) || not (S.member _keyImtok _lhsIfieldNames)- then id- else (:) $ warn _keyImtokenPos $ DuplicateKeyInTable _keyImtok- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Field_NamedField_1- )- ) of- (sem_Field_1) ->- (_lhsOcopy, sem_Field_1)- )- )- )- )- )- )-sem_Field_UnnamedField- :: T_MExpr- -> T_FieldSep- -> T_Field-sem_Field_UnnamedField value_ sep_ =- ( case (sep_) of- (_sepIcopy, sep_1) ->- ( case (value_) of- (_valueIcopy, _valueImtokenPos, value_1) ->- ( case ( ( UnnamedField _valueIcopy _sepIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Field_UnnamedField_1 :: T_Field_1- sem_Field_UnnamedField_1 =- ( \_lhsIconfig- _lhsIfieldNames- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIfieldNames- )- ) of- _lhsOfieldNames ->- ( case ( ( _lhsIscopes- )- ) of- _valueOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _valueOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _valueOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _valueOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _valueOconfig ->- ( case ( ( Nothing- )- ) of- _valueOvarBeingDefined ->- ( case ( ( _lhsIvariableStyle- )- ) of- _valueOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _valueOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _valueOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _valueOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _valueOfuncName ->- ( case ( ( True- )- ) of- _valueOtopLevel ->- ( case ( ( True- )- ) of- _valueOinParentheses ->- ( case ( ( False- )- ) of- _valueOisNegation ->- ( case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of- (_valueIglobalDefinitions, _valueIidentifier, _valueIisInModule, _valueIisSimpleExpression, _valueIisSingleVar, _valueIscopes, _valueIvariableStyle, _valueIwarnings) ->- ( case ( ( _valueIglobalDefinitions- )- ) of- _sepOglobalDefinitions ->- ( case ( ( _valueIvariableStyle- )- ) of- _sepOvariableStyle ->- ( case ( ( _valueIscopes- )- ) of- _sepOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _sepOscopeLevel ->- ( case ( ( _valueImtokenPos- )- ) of- _sepOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _sepOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _sepOisMeta ->- ( case ( ( _valueIisInModule- )- ) of- _sepOisInModule ->- ( case ( ( _lhsIfuncName- )- ) of- _sepOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _sepOconfig ->- ( case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of- (_sepIglobalDefinitions, _sepIidentifier, _sepIisInModule, _sepImtokenPos, _sepIscopes, _sepIvariableStyle, _sepIwarnings) ->- ( case ( ( _sepIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _valueIidentifier _sepIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _sepIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _sepImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _sepIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _sepIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _valueIwarnings ++ _sepIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Field_UnnamedField_1- )- ) of- (sem_Field_1) ->- (_lhsOcopy, sem_Field_1)- )- )- )- )- )---- FieldList ------------------------------------------------------ cata-sem_FieldList- :: FieldList- -> T_FieldList-sem_FieldList list =- (Prelude.foldr sem_FieldList_Cons sem_FieldList_Nil (Prelude.map sem_Field list))---- semantic domain-type T_FieldList = (FieldList, T_FieldList_1)-type T_FieldList_1 =- LintSettings- -> (S.Set Token)- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((S.Set Token), (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_FieldList = Inh_FieldList {config_Inh_FieldList :: LintSettings, fieldNames_Inh_FieldList :: (S.Set Token), funcName_Inh_FieldList :: String, globalDefinitions_Inh_FieldList :: (M.Map String [Region]), isInModule_Inh_FieldList :: Bool, isMeta_Inh_FieldList :: Bool, loopLevel_Inh_FieldList :: Int, mtokenPos_Inh_FieldList :: Region, scopeLevel_Inh_FieldList :: Int, scopes_Inh_FieldList :: ([M.Map String (Bool, Region)]), variableStyle_Inh_FieldList :: DeterminedVariableStyle}-data Syn_FieldList = Syn_FieldList {copy_Syn_FieldList :: FieldList, fieldNames_Syn_FieldList :: (S.Set Token), globalDefinitions_Syn_FieldList :: (M.Map String [Region]), identifier_Syn_FieldList :: String, isInModule_Syn_FieldList :: Bool, mtokenPos_Syn_FieldList :: Region, scopes_Syn_FieldList :: ([M.Map String (Bool, Region)]), variableStyle_Syn_FieldList :: DeterminedVariableStyle, warnings_Syn_FieldList :: ([String -> LintMessage])}-wrap_FieldList- :: T_FieldList- -> Inh_FieldList- -> Syn_FieldList-wrap_FieldList sem (Inh_FieldList _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_FieldList _lhsOcopy _lhsOfieldNames _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_FieldList_Cons- :: T_Field- -> T_FieldList- -> T_FieldList-sem_FieldList_Cons hd_ tl_ =- ( case (tl_) of- (_tlIcopy, tl_1) ->- ( case (hd_) of- (_hdIcopy, hd_1) ->- ( case ( ( (:) _hdIcopy _tlIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_FieldList_Cons_1 :: T_FieldList_1- sem_FieldList_Cons_1 =- ( \_lhsIconfig- _lhsIfieldNames- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIfieldNames- )- ) of- _hdOfieldNames ->- ( case ( ( _lhsIvariableStyle- )- ) of- _hdOvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _hdOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _hdOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _hdOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _hdOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _hdOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _hdOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _hdOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _hdOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _hdOconfig ->- ( case (hd_1 _hdOconfig _hdOfieldNames _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of- (_hdIfieldNames, _hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdImtokenPos, _hdIscopes, _hdIvariableStyle, _hdIwarnings) ->- ( case ( ( _hdIfieldNames- )- ) of- _tlOfieldNames ->- ( case ( ( _hdIvariableStyle- )- ) of- _tlOvariableStyle ->- ( case ( ( _hdIscopes- )- ) of- _tlOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _tlOscopeLevel ->- ( case ( ( _hdImtokenPos- )- ) of- _tlOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _tlOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _tlOisMeta ->- ( case ( ( _hdIisInModule- )- ) of- _tlOisInModule ->- ( case ( ( _hdIglobalDefinitions- )- ) of- _tlOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _tlOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _tlOconfig ->- ( case (tl_1 _tlOconfig _tlOfieldNames _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of- (_tlIfieldNames, _tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIvariableStyle, _tlIwarnings) ->- ( case ( ( _tlIfieldNames- )- ) of- _lhsOfieldNames ->- ( case ( ( _tlIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _hdIidentifier _tlIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _tlIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _hdImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _tlIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _tlIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _hdIwarnings ++ _tlIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_FieldList_Cons_1- )- ) of- (sem_FieldList_1) ->- (_lhsOcopy, sem_FieldList_1)- )- )- )- )- )-sem_FieldList_Nil :: T_FieldList-sem_FieldList_Nil =- ( case ( ( []- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_FieldList_Nil_1 :: T_FieldList_1- sem_FieldList_Nil_1 =- ( \_lhsIconfig- _lhsIfieldNames- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIfieldNames- )- ) of- _lhsOfieldNames ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOfieldNames, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_FieldList_Nil_1- )- ) of- (sem_FieldList_1) ->- (_lhsOcopy, sem_FieldList_1)- )- )- )---- FieldSep ------------------------------------------------------- cata-sem_FieldSep- :: FieldSep- -> T_FieldSep-sem_FieldSep (CommaSep) =- (sem_FieldSep_CommaSep)-sem_FieldSep (SemicolonSep) =- (sem_FieldSep_SemicolonSep)-sem_FieldSep (NoSep) =- (sem_FieldSep_NoSep)---- semantic domain-type T_FieldSep = (FieldSep, T_FieldSep_1)-type T_FieldSep_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_FieldSep = Inh_FieldSep {config_Inh_FieldSep :: LintSettings, funcName_Inh_FieldSep :: String, globalDefinitions_Inh_FieldSep :: (M.Map String [Region]), isInModule_Inh_FieldSep :: Bool, isMeta_Inh_FieldSep :: Bool, loopLevel_Inh_FieldSep :: Int, mtokenPos_Inh_FieldSep :: Region, scopeLevel_Inh_FieldSep :: Int, scopes_Inh_FieldSep :: ([M.Map String (Bool, Region)]), variableStyle_Inh_FieldSep :: DeterminedVariableStyle}-data Syn_FieldSep = Syn_FieldSep {copy_Syn_FieldSep :: FieldSep, globalDefinitions_Syn_FieldSep :: (M.Map String [Region]), identifier_Syn_FieldSep :: String, isInModule_Syn_FieldSep :: Bool, mtokenPos_Syn_FieldSep :: Region, scopes_Syn_FieldSep :: ([M.Map String (Bool, Region)]), variableStyle_Syn_FieldSep :: DeterminedVariableStyle, warnings_Syn_FieldSep :: ([String -> LintMessage])}-wrap_FieldSep- :: T_FieldSep- -> Inh_FieldSep- -> Syn_FieldSep-wrap_FieldSep sem (Inh_FieldSep _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_FieldSep _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_FieldSep_CommaSep :: T_FieldSep-sem_FieldSep_CommaSep =- ( case ( ( CommaSep- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_FieldSep_CommaSep_1 :: T_FieldSep_1- sem_FieldSep_CommaSep_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_FieldSep_CommaSep_1- )- ) of- (sem_FieldSep_1) ->- (_lhsOcopy, sem_FieldSep_1)- )- )- )-sem_FieldSep_SemicolonSep :: T_FieldSep-sem_FieldSep_SemicolonSep =- ( case ( ( SemicolonSep- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_FieldSep_SemicolonSep_1 :: T_FieldSep_1- sem_FieldSep_SemicolonSep_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_FieldSep_SemicolonSep_1- )- ) of- (sem_FieldSep_1) ->- (_lhsOcopy, sem_FieldSep_1)- )- )- )-sem_FieldSep_NoSep :: T_FieldSep-sem_FieldSep_NoSep =- ( case ( ( NoSep- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_FieldSep_NoSep_1 :: T_FieldSep_1- sem_FieldSep_NoSep_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_FieldSep_NoSep_1- )- ) of- (sem_FieldSep_1) ->- (_lhsOcopy, sem_FieldSep_1)- )- )- )---- FuncName ------------------------------------------------------- cata-sem_FuncName- :: FuncName- -> T_FuncName-sem_FuncName (FuncName _names _meta) =- (sem_FuncName_FuncName _names _meta)---- semantic domain-type T_FuncName = (FuncName, Bool, T_FuncName_1)-type T_FuncName_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), Bool, String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_FuncName = Inh_FuncName {config_Inh_FuncName :: LintSettings, funcName_Inh_FuncName :: String, globalDefinitions_Inh_FuncName :: (M.Map String [Region]), isInModule_Inh_FuncName :: Bool, isMeta_Inh_FuncName :: Bool, loopLevel_Inh_FuncName :: Int, mtokenPos_Inh_FuncName :: Region, scopeLevel_Inh_FuncName :: Int, scopes_Inh_FuncName :: ([M.Map String (Bool, Region)]), variableStyle_Inh_FuncName :: DeterminedVariableStyle}-data Syn_FuncName = Syn_FuncName {copy_Syn_FuncName :: FuncName, globalDefinitions_Syn_FuncName :: (M.Map String [Region]), hasSuffixes_Syn_FuncName :: Bool, identifier_Syn_FuncName :: String, isInModule_Syn_FuncName :: Bool, isMeta_Syn_FuncName :: Bool, mtokenPos_Syn_FuncName :: Region, scopes_Syn_FuncName :: ([M.Map String (Bool, Region)]), variableStyle_Syn_FuncName :: DeterminedVariableStyle, warnings_Syn_FuncName :: ([String -> LintMessage])}-wrap_FuncName- :: T_FuncName- -> Inh_FuncName- -> Syn_FuncName-wrap_FuncName sem (Inh_FuncName _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, _lhsOisMeta, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOhasSuffixes, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_FuncName _lhsOcopy _lhsOglobalDefinitions _lhsOhasSuffixes _lhsOidentifier _lhsOisInModule _lhsOisMeta _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_FuncName_FuncName- :: ([MToken])- -> (Maybe MToken)- -> T_FuncName-sem_FuncName_FuncName names_ meta_ =- ( case ( ( FuncName names_ meta_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( isJust meta_- )- ) of- _lhsOisMeta ->- ( case ( ( let- sem_FuncName_FuncName_1 :: T_FuncName_1- sem_FuncName_FuncName_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( length names_ > 1- )- ) of- _lhsOhasSuffixes ->- ( case ( ( tokenLabel . head $ names_- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( mpos (head names_)- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOhasSuffixes, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_FuncName_FuncName_1- )- ) of- (sem_FuncName_1) ->- (_lhsOcopy, _lhsOisMeta, sem_FuncName_1)- )- )- )- )---- MElse ---------------------------------------------------------- cata-sem_MElse- :: MElse- -> T_MElse-sem_MElse (MElse _pos _body) =- (sem_MElse_MElse (sem_Region _pos) (sem_Block _body))---- semantic domain-type T_MElse = (MElse, T_MElse_1)-type T_MElse_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> (Bool, (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), Int, DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_MElse = Inh_MElse {config_Inh_MElse :: LintSettings, funcName_Inh_MElse :: String, globalDefinitions_Inh_MElse :: (M.Map String [Region]), isInModule_Inh_MElse :: Bool, isMeta_Inh_MElse :: Bool, loopLevel_Inh_MElse :: Int, mtokenPos_Inh_MElse :: Region, scopeLevel_Inh_MElse :: Int, scopes_Inh_MElse :: ([M.Map String (Bool, Region)]), variableStyle_Inh_MElse :: DeterminedVariableStyle}-data Syn_MElse = Syn_MElse {copy_Syn_MElse :: MElse, elseExists_Syn_MElse :: Bool, globalDefinitions_Syn_MElse :: (M.Map String [Region]), identifier_Syn_MElse :: String, isInModule_Syn_MElse :: Bool, mtokenPos_Syn_MElse :: Region, scopes_Syn_MElse :: ([M.Map String (Bool, Region)]), statementCount_Syn_MElse :: Int, variableStyle_Syn_MElse :: DeterminedVariableStyle, warnings_Syn_MElse :: ([String -> LintMessage])}-wrap_MElse- :: T_MElse- -> Inh_MElse- -> Syn_MElse-wrap_MElse sem (Inh_MElse _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_MElse _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings)- )-sem_MElse_MElse- :: T_Region- -> T_Block- -> T_MElse-sem_MElse_MElse pos_ body_ =- ( case (body_) of- (_bodyIcopy, body_1) ->- ( case (pos_) of- (_posIcopy, _posIidentifier, _posIwarnings) ->- ( case ( ( MElse _posIcopy _bodyIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_MElse_MElse_1 :: T_MElse_1- sem_MElse_MElse_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( False- )- ) of- _lhsOelseExists ->- ( case ( ( _lhsIscopes- )- ) of- _bodyOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _bodyOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _bodyOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _bodyOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _bodyOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _bodyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _bodyOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _bodyOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _bodyOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _bodyOfuncName ->- ( case ( ( False- )- ) of- _bodyOisRepeat ->- ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of- (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->- ( case ( ( _bodyIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _posIidentifier _bodyIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _bodyIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _posIcopy- )- ) of- _lhsOmtokenPos ->- ( case ( ( _bodyIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _bodyIstatementCount- )- ) of- _lhsOstatementCount ->- ( case ( ( _bodyIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _posIwarnings ++ _bodyIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOelseExists, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_MElse_MElse_1- )- ) of- (sem_MElse_1) ->- (_lhsOcopy, sem_MElse_1)- )- )- )- )- )---- MElseIf -------------------------------------------------------- cata-sem_MElseIf- :: MElseIf- -> T_MElseIf-sem_MElseIf (MElseIf _pos _elif) =- (sem_MElseIf_MElseIf (sem_Region _pos) (sem_ElseIf _elif))---- semantic domain-type T_MElseIf = (MElseIf, T_MElseIf_1)-type T_MElseIf_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_MElseIf = Inh_MElseIf {config_Inh_MElseIf :: LintSettings, funcName_Inh_MElseIf :: String, globalDefinitions_Inh_MElseIf :: (M.Map String [Region]), isInModule_Inh_MElseIf :: Bool, isMeta_Inh_MElseIf :: Bool, loopLevel_Inh_MElseIf :: Int, mtokenPos_Inh_MElseIf :: Region, scopeLevel_Inh_MElseIf :: Int, scopes_Inh_MElseIf :: ([M.Map String (Bool, Region)]), variableStyle_Inh_MElseIf :: DeterminedVariableStyle}-data Syn_MElseIf = Syn_MElseIf {copy_Syn_MElseIf :: MElseIf, globalDefinitions_Syn_MElseIf :: (M.Map String [Region]), identifier_Syn_MElseIf :: String, isInModule_Syn_MElseIf :: Bool, mtokenPos_Syn_MElseIf :: Region, scopes_Syn_MElseIf :: ([M.Map String (Bool, Region)]), variableStyle_Syn_MElseIf :: DeterminedVariableStyle, warnings_Syn_MElseIf :: ([String -> LintMessage])}-wrap_MElseIf- :: T_MElseIf- -> Inh_MElseIf- -> Syn_MElseIf-wrap_MElseIf sem (Inh_MElseIf _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_MElseIf _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_MElseIf_MElseIf- :: T_Region- -> T_ElseIf- -> T_MElseIf-sem_MElseIf_MElseIf pos_ elif_ =- ( case (elif_) of- (_elifIcopy, elif_1) ->- ( case (pos_) of- (_posIcopy, _posIidentifier, _posIwarnings) ->- ( case ( ( MElseIf _posIcopy _elifIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_MElseIf_MElseIf_1 :: T_MElseIf_1- sem_MElseIf_MElseIf_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _elifOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _elifOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _elifOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _elifOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _elifOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _elifOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _elifOscopeLevel ->- ( case ( ( _lhsIloopLevel- )- ) of- _elifOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _elifOfuncName ->- ( case ( ( _posIcopy- )- ) of- _elifOmtokenPos ->- ( case (elif_1 _elifOconfig _elifOfuncName _elifOglobalDefinitions _elifOisInModule _elifOisMeta _elifOloopLevel _elifOmtokenPos _elifOscopeLevel _elifOscopes _elifOvariableStyle) of- (_elifIglobalDefinitions, _elifIidentifier, _elifIisInModule, _elifImtokenPos, _elifIscopes, _elifIvariableStyle, _elifIwarnings) ->- ( case ( ( _elifIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _posIidentifier _elifIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _elifIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _elifImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _elifIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _elifIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _posIwarnings ++ _elifIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_MElseIf_MElseIf_1- )- ) of- (sem_MElseIf_1) ->- (_lhsOcopy, sem_MElseIf_1)- )- )- )- )- )---- MExpr ---------------------------------------------------------- cata-sem_MExpr- :: MExpr- -> T_MExpr-sem_MExpr (MExpr _pos _expr) =- (sem_MExpr_MExpr (sem_Region _pos) (sem_Expr _expr))---- semantic domain-type T_MExpr = (MExpr, Region, T_MExpr_1)-type T_MExpr_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> Bool- -> (Maybe MToken)- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Bool, (Maybe MToken), ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_MExpr = Inh_MExpr {config_Inh_MExpr :: LintSettings, funcName_Inh_MExpr :: String, globalDefinitions_Inh_MExpr :: (M.Map String [Region]), inParentheses_Inh_MExpr :: Bool, isInModule_Inh_MExpr :: Bool, isMeta_Inh_MExpr :: Bool, isNegation_Inh_MExpr :: Bool, loopLevel_Inh_MExpr :: Int, mtokenPos_Inh_MExpr :: Region, scopeLevel_Inh_MExpr :: Int, scopes_Inh_MExpr :: ([M.Map String (Bool, Region)]), topLevel_Inh_MExpr :: Bool, varBeingDefined_Inh_MExpr :: (Maybe MToken), variableStyle_Inh_MExpr :: DeterminedVariableStyle}-data Syn_MExpr = Syn_MExpr {copy_Syn_MExpr :: MExpr, globalDefinitions_Syn_MExpr :: (M.Map String [Region]), identifier_Syn_MExpr :: String, isInModule_Syn_MExpr :: Bool, isSimpleExpression_Syn_MExpr :: Bool, isSingleVar_Syn_MExpr :: (Maybe MToken), mtokenPos_Syn_MExpr :: Region, scopes_Syn_MExpr :: ([M.Map String (Bool, Region)]), variableStyle_Syn_MExpr :: DeterminedVariableStyle, warnings_Syn_MExpr :: ([String -> LintMessage])}-wrap_MExpr- :: T_MExpr- -> Inh_MExpr- -> Syn_MExpr-wrap_MExpr sem (Inh_MExpr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =- ( let- (_lhsOcopy, _lhsOmtokenPos, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle- in- (Syn_MExpr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_MExpr_MExpr- :: T_Region- -> T_Expr- -> T_MExpr-sem_MExpr_MExpr pos_ expr_ =- ( case (expr_) of- (_exprIcopy, expr_1) ->- ( case (pos_) of- (_posIcopy, _posIidentifier, _posIwarnings) ->- ( case ( ( MExpr _posIcopy _exprIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _posIcopy- )- ) of- _lhsOmtokenPos ->- ( case ( ( let- sem_MExpr_MExpr_1 :: T_MExpr_1- sem_MExpr_MExpr_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIvarBeingDefined- )- ) of- _exprOvarBeingDefined ->- ( case ( ( _lhsIscopes- )- ) of- _exprOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _exprOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _exprOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _exprOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _exprOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _exprOvariableStyle ->- ( case ( ( _lhsItopLevel- )- ) of- _exprOtopLevel ->- ( case ( ( _lhsIscopeLevel- )- ) of- _exprOscopeLevel ->- ( case ( ( _lhsIloopLevel- )- ) of- _exprOloopLevel ->- ( case ( ( _lhsIisNegation- )- ) of- _exprOisNegation ->- ( case ( ( _lhsIinParentheses- )- ) of- _exprOinParentheses ->- ( case ( ( _lhsIfuncName- )- ) of- _exprOfuncName ->- ( case ( ( _posIcopy- )- ) of- _exprOmtokenPos ->- ( case (expr_1 _exprOconfig _exprOfuncName _exprOglobalDefinitions _exprOinParentheses _exprOisInModule _exprOisMeta _exprOisNegation _exprOloopLevel _exprOmtokenPos _exprOscopeLevel _exprOscopes _exprOtopLevel _exprOvarBeingDefined _exprOvariableStyle) of- (_exprIglobalDefinitions, _exprIidentifier, _exprIisInModule, _exprIisSimpleExpression, _exprIisSingleVar, _exprImtokenPos, _exprIscopes, _exprIvariableStyle, _exprIwarnings) ->- ( case ( ( _exprIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _posIidentifier _exprIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _exprIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _exprIisSimpleExpression- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( _exprIisSingleVar- )- ) of- _lhsOisSingleVar ->- ( case ( ( _exprIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _exprIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _posIwarnings ++ _exprIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_MExpr_MExpr_1- )- ) of- (sem_MExpr_1) ->- (_lhsOcopy, _lhsOmtokenPos, sem_MExpr_1)- )- )- )- )- )- )---- MExprList ------------------------------------------------------ cata-sem_MExprList- :: MExprList- -> T_MExprList-sem_MExprList list =- (Prelude.foldr sem_MExprList_Cons sem_MExprList_Nil (Prelude.map sem_MExpr list))---- semantic domain-type T_MExprList = (MExprList, T_MExprList_1)-type T_MExprList_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> Bool- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_MExprList = Inh_MExprList {config_Inh_MExprList :: LintSettings, funcName_Inh_MExprList :: String, globalDefinitions_Inh_MExprList :: (M.Map String [Region]), inParentheses_Inh_MExprList :: Bool, isInModule_Inh_MExprList :: Bool, isMeta_Inh_MExprList :: Bool, loopLevel_Inh_MExprList :: Int, mtokenPos_Inh_MExprList :: Region, scopeLevel_Inh_MExprList :: Int, scopes_Inh_MExprList :: ([M.Map String (Bool, Region)]), topLevel_Inh_MExprList :: Bool, variableStyle_Inh_MExprList :: DeterminedVariableStyle}-data Syn_MExprList = Syn_MExprList {copy_Syn_MExprList :: MExprList, globalDefinitions_Syn_MExprList :: (M.Map String [Region]), identifier_Syn_MExprList :: String, isInModule_Syn_MExprList :: Bool, mtokenPos_Syn_MExprList :: Region, scopes_Syn_MExprList :: ([M.Map String (Bool, Region)]), variableStyle_Syn_MExprList :: DeterminedVariableStyle, warnings_Syn_MExprList :: ([String -> LintMessage])}-wrap_MExprList- :: T_MExprList- -> Inh_MExprList- -> Syn_MExprList-wrap_MExprList sem (Inh_MExprList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvariableStyle- in- (Syn_MExprList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_MExprList_Cons- :: T_MExpr- -> T_MExprList- -> T_MExprList-sem_MExprList_Cons hd_ tl_ =- ( case (tl_) of- (_tlIcopy, tl_1) ->- ( case (hd_) of- (_hdIcopy, _hdImtokenPos, hd_1) ->- ( case ( ( (:) _hdIcopy _tlIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_MExprList_Cons_1 :: T_MExprList_1- sem_MExprList_Cons_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _hdOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _hdOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _hdOconfig ->- ( case ( ( Nothing- )- ) of- _hdOvarBeingDefined ->- ( case ( ( _lhsIvariableStyle- )- ) of- _hdOvariableStyle ->- ( case ( ( _lhsItopLevel- )- ) of- _hdOtopLevel ->- ( case ( ( _lhsIscopeLevel- )- ) of- _hdOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _hdOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _hdOloopLevel ->- ( case ( ( _lhsIisInModule- )- ) of- _hdOisInModule ->- ( case ( ( _lhsIinParentheses- )- ) of- _hdOinParentheses ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _hdOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _hdOfuncName ->- ( case ( ( False- )- ) of- _hdOisNegation ->- ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOinParentheses _hdOisInModule _hdOisMeta _hdOisNegation _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOtopLevel _hdOvarBeingDefined _hdOvariableStyle) of- (_hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdIisSimpleExpression, _hdIisSingleVar, _hdIscopes, _hdIvariableStyle, _hdIwarnings) ->- ( case ( ( _hdIscopes- )- ) of- _tlOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _tlOisMeta ->- ( case ( ( _hdIisInModule- )- ) of- _tlOisInModule ->- ( case ( ( _hdIglobalDefinitions- )- ) of- _tlOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _tlOconfig ->- ( case ( ( _hdIvariableStyle- )- ) of- _tlOvariableStyle ->- ( case ( ( _lhsItopLevel- )- ) of- _tlOtopLevel ->- ( case ( ( _lhsIscopeLevel- )- ) of- _tlOscopeLevel ->- ( case ( ( _hdImtokenPos- )- ) of- _tlOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _tlOloopLevel ->- ( case ( ( _lhsIinParentheses- )- ) of- _tlOinParentheses ->- ( case ( ( _lhsIfuncName- )- ) of- _tlOfuncName ->- ( case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOinParentheses _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOtopLevel _tlOvariableStyle) of- (_tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIvariableStyle, _tlIwarnings) ->- ( case ( ( _tlIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _hdIidentifier _tlIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _tlIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _hdImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _tlIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _tlIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _hdIwarnings ++ _tlIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_MExprList_Cons_1- )- ) of- (sem_MExprList_1) ->- (_lhsOcopy, sem_MExprList_1)- )- )- )- )- )-sem_MExprList_Nil :: T_MExprList-sem_MExprList_Nil =- ( case ( ( []- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_MExprList_Nil_1 :: T_MExprList_1- sem_MExprList_Nil_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_MExprList_Nil_1- )- ) of- (sem_MExprList_1) ->- (_lhsOcopy, sem_MExprList_1)- )- )- )---- MStat ---------------------------------------------------------- cata-sem_MStat- :: MStat- -> T_MStat-sem_MStat (MStat _pos _stat) =- (sem_MStat_MStat (sem_Region _pos) (sem_Stat _stat))---- semantic domain-type T_MStat = (MStat, T_MStat_1)-type T_MStat_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), Int, DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_MStat = Inh_MStat {config_Inh_MStat :: LintSettings, funcName_Inh_MStat :: String, globalDefinitions_Inh_MStat :: (M.Map String [Region]), isInModule_Inh_MStat :: Bool, isMeta_Inh_MStat :: Bool, loopLevel_Inh_MStat :: Int, mtokenPos_Inh_MStat :: Region, scopeLevel_Inh_MStat :: Int, scopes_Inh_MStat :: ([M.Map String (Bool, Region)]), variableStyle_Inh_MStat :: DeterminedVariableStyle}-data Syn_MStat = Syn_MStat {copy_Syn_MStat :: MStat, globalDefinitions_Syn_MStat :: (M.Map String [Region]), identifier_Syn_MStat :: String, isIfStatement_Syn_MStat :: Bool, isInModule_Syn_MStat :: Bool, mtokenPos_Syn_MStat :: Region, scopes_Syn_MStat :: ([M.Map String (Bool, Region)]), statementCount_Syn_MStat :: Int, variableStyle_Syn_MStat :: DeterminedVariableStyle, warnings_Syn_MStat :: ([String -> LintMessage])}-wrap_MStat- :: T_MStat- -> Inh_MStat- -> Syn_MStat-wrap_MStat sem (Inh_MStat _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_MStat _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings)- )-sem_MStat_MStat- :: T_Region- -> T_Stat- -> T_MStat-sem_MStat_MStat pos_ stat_ =- ( case (stat_) of- (_statIcopy, stat_1) ->- ( case (pos_) of- (_posIcopy, _posIidentifier, _posIwarnings) ->- ( case ( ( MStat _posIcopy _statIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_MStat_MStat_1 :: T_MStat_1- sem_MStat_MStat_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _statOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _statOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _statOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _statOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _statOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _statOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _statOscopeLevel ->- ( case ( ( _lhsIloopLevel- )- ) of- _statOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _statOfuncName ->- ( case ( ( _posIcopy- )- ) of- _statOmtokenPos ->- ( case (stat_1 _statOconfig _statOfuncName _statOglobalDefinitions _statOisInModule _statOisMeta _statOloopLevel _statOmtokenPos _statOscopeLevel _statOscopes _statOvariableStyle) of- (_statIglobalDefinitions, _statIidentifier, _statIisIfStatement, _statIisInModule, _statImtokenPos, _statIscopes, _statIvariableStyle, _statIwarnings) ->- ( case ( ( _statIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _posIidentifier _statIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _statIisIfStatement- )- ) of- _lhsOisIfStatement ->- ( case ( ( _statIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _posIcopy- )- ) of- _lhsOmtokenPos ->- ( case ( ( _statIscopes- )- ) of- _lhsOscopes ->- ( case ( ( 1- )- ) of- _lhsOstatementCount ->- ( case ( ( _statIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _posIwarnings ++ _statIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_MStat_MStat_1- )- ) of- (sem_MStat_1) ->- (_lhsOcopy, sem_MStat_1)- )- )- )- )- )---- MStatList ------------------------------------------------------ cata-sem_MStatList- :: MStatList- -> T_MStatList-sem_MStatList list =- (Prelude.foldr sem_MStatList_Cons sem_MStatList_Nil (Prelude.map sem_MStat list))---- semantic domain-type T_MStatList = (MStatList, T_MStatList_1)-type T_MStatList_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), Int, DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_MStatList = Inh_MStatList {config_Inh_MStatList :: LintSettings, funcName_Inh_MStatList :: String, globalDefinitions_Inh_MStatList :: (M.Map String [Region]), isInModule_Inh_MStatList :: Bool, isMeta_Inh_MStatList :: Bool, loopLevel_Inh_MStatList :: Int, mtokenPos_Inh_MStatList :: Region, scopeLevel_Inh_MStatList :: Int, scopes_Inh_MStatList :: ([M.Map String (Bool, Region)]), variableStyle_Inh_MStatList :: DeterminedVariableStyle}-data Syn_MStatList = Syn_MStatList {copy_Syn_MStatList :: MStatList, globalDefinitions_Syn_MStatList :: (M.Map String [Region]), identifier_Syn_MStatList :: String, isIfStatement_Syn_MStatList :: Bool, isInModule_Syn_MStatList :: Bool, mtokenPos_Syn_MStatList :: Region, scopes_Syn_MStatList :: ([M.Map String (Bool, Region)]), statementCount_Syn_MStatList :: Int, variableStyle_Syn_MStatList :: DeterminedVariableStyle, warnings_Syn_MStatList :: ([String -> LintMessage])}-wrap_MStatList- :: T_MStatList- -> Inh_MStatList- -> Syn_MStatList-wrap_MStatList sem (Inh_MStatList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_MStatList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings)- )-sem_MStatList_Cons- :: T_MStat- -> T_MStatList- -> T_MStatList-sem_MStatList_Cons hd_ tl_ =- ( case (tl_) of- (_tlIcopy, tl_1) ->- ( case (hd_) of- (_hdIcopy, hd_1) ->- ( case ( ( (:) _hdIcopy _tlIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_MStatList_Cons_1 :: T_MStatList_1- sem_MStatList_Cons_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _hdOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _hdOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _hdOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _hdOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _hdOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _hdOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _hdOloopLevel ->- ( case ( ( _lhsIisInModule- )- ) of- _hdOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _hdOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _hdOfuncName ->- ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of- (_hdIglobalDefinitions, _hdIidentifier, _hdIisIfStatement, _hdIisInModule, _hdImtokenPos, _hdIscopes, _hdIstatementCount, _hdIvariableStyle, _hdIwarnings) ->- ( case ( ( _hdIscopes- )- ) of- _tlOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _tlOisMeta ->- ( case ( ( _hdIisInModule- )- ) of- _tlOisInModule ->- ( case ( ( _hdIglobalDefinitions- )- ) of- _tlOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _tlOconfig ->- ( case ( ( _hdIvariableStyle- )- ) of- _tlOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _tlOscopeLevel ->- ( case ( ( _hdImtokenPos- )- ) of- _tlOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _tlOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _tlOfuncName ->- ( case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of- (_tlIglobalDefinitions, _tlIidentifier, _tlIisIfStatement, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIstatementCount, _tlIvariableStyle, _tlIwarnings) ->- ( case ( ( _tlIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _hdIidentifier _tlIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _hdIisIfStatement || _tlIisIfStatement- )- ) of- _lhsOisIfStatement ->- ( case ( ( _tlIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _hdImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _tlIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _hdIstatementCount + _tlIstatementCount- )- ) of- _lhsOstatementCount ->- ( case ( ( _tlIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _hdIwarnings ++ _tlIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_MStatList_Cons_1- )- ) of- (sem_MStatList_1) ->- (_lhsOcopy, sem_MStatList_1)- )- )- )- )- )-sem_MStatList_Nil :: T_MStatList-sem_MStatList_Nil =- ( case ( ( []- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_MStatList_Nil_1 :: T_MStatList_1- sem_MStatList_Nil_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( 0- )- ) of- _lhsOstatementCount ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOstatementCount, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- in- sem_MStatList_Nil_1- )- ) of- (sem_MStatList_1) ->- (_lhsOcopy, sem_MStatList_1)- )- )- )---- MToken --------------------------------------------------------- cata-sem_MToken- :: MToken- -> T_MToken-sem_MToken (MToken _mpos _mtok) =- (sem_MToken_MToken (sem_Region _mpos) (sem_Token _mtok))---- semantic domain-type T_MToken = (MToken, Token, Region, T_MToken_1)-type T_MToken_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Region- -> ([M.Map String (Bool, Region)])- -> ((M.Map String [Region]), String, Bool, ([M.Map String (Bool, Region)]), ([String -> LintMessage]))-data Inh_MToken = Inh_MToken {config_Inh_MToken :: LintSettings, funcName_Inh_MToken :: String, globalDefinitions_Inh_MToken :: (M.Map String [Region]), isInModule_Inh_MToken :: Bool, isMeta_Inh_MToken :: Bool, mtokenPos_Inh_MToken :: Region, scopes_Inh_MToken :: ([M.Map String (Bool, Region)])}-data Syn_MToken = Syn_MToken {copy_Syn_MToken :: MToken, globalDefinitions_Syn_MToken :: (M.Map String [Region]), identifier_Syn_MToken :: String, isInModule_Syn_MToken :: Bool, mtok_Syn_MToken :: Token, mtokenPos_Syn_MToken :: Region, scopes_Syn_MToken :: ([M.Map String (Bool, Region)]), warnings_Syn_MToken :: ([String -> LintMessage])}-wrap_MToken- :: T_MToken- -> Inh_MToken- -> Syn_MToken-wrap_MToken sem (Inh_MToken _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes) =- ( let- (_lhsOcopy, _lhsOmtok, _lhsOmtokenPos, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOscopes, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes- in- (Syn_MToken _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtok _lhsOmtokenPos _lhsOscopes _lhsOwarnings)- )-sem_MToken_MToken- :: T_Region- -> T_Token- -> T_MToken-sem_MToken_MToken mpos_ mtok_ =- ( case (mtok_) of- (_mtokIcopy, _mtokIidentifier, _mtokIwarnings) ->- ( case (mpos_) of- (_mposIcopy, _mposIidentifier, _mposIwarnings) ->- ( case ( ( MToken _mposIcopy _mtokIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _mtokIcopy- )- ) of- _lhsOmtok ->- ( case ( ( _mposIcopy- )- ) of- _lhsOmtokenPos ->- ( case ( ( let- sem_MToken_MToken_1 :: T_MToken_1- sem_MToken_MToken_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsImtokenPos- _lhsIscopes ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _mtokIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _mposIwarnings ++ _mtokIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( if not (lint_goto_identifier _lhsIconfig) || _mtokIidentifier /= "goto"- then id- else (:) $ warn _mposIcopy GotoAsIdentifier- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOscopes, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_MToken_MToken_1- )- ) of- (sem_MToken_1) ->- (_lhsOcopy, _lhsOmtok, _lhsOmtokenPos, sem_MToken_1)- )- )- )- )- )- )- )---- MTokenList ----------------------------------------------------- cata-sem_MTokenList- :: MTokenList- -> T_MTokenList-sem_MTokenList list =- (Prelude.foldr sem_MTokenList_Cons sem_MTokenList_Nil (Prelude.map sem_MToken list))---- semantic domain-type T_MTokenList =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Region- -> ([M.Map String (Bool, Region)])- -> (MTokenList, (M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), ([String -> LintMessage]))-data Inh_MTokenList = Inh_MTokenList {config_Inh_MTokenList :: LintSettings, funcName_Inh_MTokenList :: String, globalDefinitions_Inh_MTokenList :: (M.Map String [Region]), isInModule_Inh_MTokenList :: Bool, isMeta_Inh_MTokenList :: Bool, mtokenPos_Inh_MTokenList :: Region, scopes_Inh_MTokenList :: ([M.Map String (Bool, Region)])}-data Syn_MTokenList = Syn_MTokenList {copy_Syn_MTokenList :: MTokenList, globalDefinitions_Syn_MTokenList :: (M.Map String [Region]), identifier_Syn_MTokenList :: String, isInModule_Syn_MTokenList :: Bool, mtokenPos_Syn_MTokenList :: Region, scopes_Syn_MTokenList :: ([M.Map String (Bool, Region)]), warnings_Syn_MTokenList :: ([String -> LintMessage])}-wrap_MTokenList- :: T_MTokenList- -> Inh_MTokenList- -> Syn_MTokenList-wrap_MTokenList sem (Inh_MTokenList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes) =- ( let- (_lhsOcopy, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOwarnings) = sem _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes- in- (Syn_MTokenList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOwarnings)- )-sem_MTokenList_Cons- :: T_MToken- -> T_MTokenList- -> T_MTokenList-sem_MTokenList_Cons hd_ tl_ =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsImtokenPos- _lhsIscopes ->- ( case ( ( _lhsIscopes- )- ) of- _hdOscopes ->- ( case (hd_) of- (_hdIcopy, _hdImtok, _hdImtokenPos, hd_1) ->- ( case ( ( _lhsImtokenPos- )- ) of- _hdOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _hdOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _hdOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _hdOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _hdOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _hdOconfig ->- ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOmtokenPos _hdOscopes) of- (_hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdIscopes, _hdIwarnings) ->- ( case ( ( _hdIscopes- )- ) of- _tlOscopes ->- ( case ( ( _hdImtokenPos- )- ) of- _tlOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _tlOisMeta ->- ( case ( ( _hdIisInModule- )- ) of- _tlOisInModule ->- ( case ( ( _hdIglobalDefinitions- )- ) of- _tlOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _tlOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _tlOconfig ->- ( case (tl_ _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOmtokenPos _tlOscopes) of- (_tlIcopy, _tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIwarnings) ->- ( case ( ( (:) _hdIcopy _tlIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _tlIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _hdIidentifier _tlIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _tlIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _hdImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _tlIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _hdIwarnings ++ _tlIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_MTokenList_Nil :: T_MTokenList-sem_MTokenList_Nil =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsImtokenPos- _lhsIscopes ->- ( case ( ( []- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOwarnings)- )- )- )- )- )- )- )- )- )---- MaybeMExpr ----------------------------------------------------- cata-sem_MaybeMExpr- :: MaybeMExpr- -> T_MaybeMExpr-sem_MaybeMExpr (Prelude.Just x) =- (sem_MaybeMExpr_Just (sem_MExpr x))-sem_MaybeMExpr Prelude.Nothing =- sem_MaybeMExpr_Nothing---- semantic domain-type T_MaybeMExpr = (MaybeMExpr, T_MaybeMExpr_1)-type T_MaybeMExpr_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> (Maybe MToken)- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, (Maybe MToken), Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_MaybeMExpr = Inh_MaybeMExpr {config_Inh_MaybeMExpr :: LintSettings, funcName_Inh_MaybeMExpr :: String, globalDefinitions_Inh_MaybeMExpr :: (M.Map String [Region]), isInModule_Inh_MaybeMExpr :: Bool, isMeta_Inh_MaybeMExpr :: Bool, isNegation_Inh_MaybeMExpr :: Bool, loopLevel_Inh_MaybeMExpr :: Int, mtokenPos_Inh_MaybeMExpr :: Region, scopeLevel_Inh_MaybeMExpr :: Int, scopes_Inh_MaybeMExpr :: ([M.Map String (Bool, Region)]), varBeingDefined_Inh_MaybeMExpr :: (Maybe MToken), variableStyle_Inh_MaybeMExpr :: DeterminedVariableStyle}-data Syn_MaybeMExpr = Syn_MaybeMExpr {copy_Syn_MaybeMExpr :: MaybeMExpr, globalDefinitions_Syn_MaybeMExpr :: (M.Map String [Region]), identifier_Syn_MaybeMExpr :: String, isInModule_Syn_MaybeMExpr :: Bool, isSingleVar_Syn_MaybeMExpr :: (Maybe MToken), mtokenPos_Syn_MaybeMExpr :: Region, scopes_Syn_MaybeMExpr :: ([M.Map String (Bool, Region)]), variableStyle_Syn_MaybeMExpr :: DeterminedVariableStyle, warnings_Syn_MaybeMExpr :: ([String -> LintMessage])}-wrap_MaybeMExpr- :: T_MaybeMExpr- -> Inh_MaybeMExpr- -> Syn_MaybeMExpr-wrap_MaybeMExpr sem (Inh_MaybeMExpr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvarBeingDefined _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvarBeingDefined _lhsIvariableStyle- in- (Syn_MaybeMExpr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_MaybeMExpr_Just- :: T_MExpr- -> T_MaybeMExpr-sem_MaybeMExpr_Just just_ =- ( case (just_) of- (_justIcopy, _justImtokenPos, just_1) ->- ( case ( ( Just _justIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_MaybeMExpr_Just_1 :: T_MaybeMExpr_1- sem_MaybeMExpr_Just_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIvarBeingDefined- )- ) of- _justOvarBeingDefined ->- ( case ( ( _lhsIscopes- )- ) of- _justOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _justOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _justOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _justOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _justOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _justOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _justOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _justOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _justOloopLevel ->- ( case ( ( _lhsIisNegation- )- ) of- _justOisNegation ->- ( case ( ( _lhsIfuncName- )- ) of- _justOfuncName ->- ( case ( ( False- )- ) of- _justOtopLevel ->- ( case ( ( False- )- ) of- _justOinParentheses ->- ( case (just_1 _justOconfig _justOfuncName _justOglobalDefinitions _justOinParentheses _justOisInModule _justOisMeta _justOisNegation _justOloopLevel _justOmtokenPos _justOscopeLevel _justOscopes _justOtopLevel _justOvarBeingDefined _justOvariableStyle) of- (_justIglobalDefinitions, _justIidentifier, _justIisInModule, _justIisSimpleExpression, _justIisSingleVar, _justIscopes, _justIvariableStyle, _justIwarnings) ->- ( case ( ( _justIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _justIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _justIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _justIisSingleVar- )- ) of- _lhsOisSingleVar ->- ( case ( ( _justImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _justIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _justIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _justIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_MaybeMExpr_Just_1- )- ) of- (sem_MaybeMExpr_1) ->- (_lhsOcopy, sem_MaybeMExpr_1)- )- )- )- )-sem_MaybeMExpr_Nothing :: T_MaybeMExpr-sem_MaybeMExpr_Nothing =- ( case ( ( Nothing- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_MaybeMExpr_Nothing_1 :: T_MaybeMExpr_1- sem_MaybeMExpr_Nothing_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSingleVar, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_MaybeMExpr_Nothing_1- )- ) of- (sem_MaybeMExpr_1) ->- (_lhsOcopy, sem_MaybeMExpr_1)- )- )- )---- PFExprSuffix --------------------------------------------------- cata-sem_PFExprSuffix- :: PFExprSuffix- -> T_PFExprSuffix-sem_PFExprSuffix (Call _args) =- (sem_PFExprSuffix_Call (sem_Args _args))-sem_PFExprSuffix (MetaCall _fn _args) =- (sem_PFExprSuffix_MetaCall (sem_MToken _fn) (sem_Args _args))-sem_PFExprSuffix (ExprIndex _index) =- (sem_PFExprSuffix_ExprIndex (sem_MExpr _index))-sem_PFExprSuffix (DotIndex _index) =- (sem_PFExprSuffix_DotIndex (sem_MToken _index))---- semantic domain-type T_PFExprSuffix = (PFExprSuffix, T_PFExprSuffix_1)-type T_PFExprSuffix_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_PFExprSuffix = Inh_PFExprSuffix {config_Inh_PFExprSuffix :: LintSettings, funcName_Inh_PFExprSuffix :: String, globalDefinitions_Inh_PFExprSuffix :: (M.Map String [Region]), isInModule_Inh_PFExprSuffix :: Bool, isMeta_Inh_PFExprSuffix :: Bool, loopLevel_Inh_PFExprSuffix :: Int, mtokenPos_Inh_PFExprSuffix :: Region, scopeLevel_Inh_PFExprSuffix :: Int, scopes_Inh_PFExprSuffix :: ([M.Map String (Bool, Region)]), variableStyle_Inh_PFExprSuffix :: DeterminedVariableStyle}-data Syn_PFExprSuffix = Syn_PFExprSuffix {copy_Syn_PFExprSuffix :: PFExprSuffix, globalDefinitions_Syn_PFExprSuffix :: (M.Map String [Region]), identifier_Syn_PFExprSuffix :: String, isInModule_Syn_PFExprSuffix :: Bool, isSimpleExpression_Syn_PFExprSuffix :: Bool, mtokenPos_Syn_PFExprSuffix :: Region, scopes_Syn_PFExprSuffix :: ([M.Map String (Bool, Region)]), variableStyle_Syn_PFExprSuffix :: DeterminedVariableStyle, warnings_Syn_PFExprSuffix :: ([String -> LintMessage])}-wrap_PFExprSuffix- :: T_PFExprSuffix- -> Inh_PFExprSuffix- -> Syn_PFExprSuffix-wrap_PFExprSuffix sem (Inh_PFExprSuffix _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_PFExprSuffix _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_PFExprSuffix_Call- :: T_Args- -> T_PFExprSuffix-sem_PFExprSuffix_Call args_ =- ( case (args_) of- (_argsIcopy, args_1) ->- ( case ( ( Call _argsIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_PFExprSuffix_Call_1 :: T_PFExprSuffix_1- sem_PFExprSuffix_Call_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _argsOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _argsOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _argsOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _argsOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _argsOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _argsOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _argsOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _argsOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _argsOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _argsOfuncName ->- ( case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOvariableStyle) of- (_argsIglobalDefinitions, _argsIidentifier, _argsIisInModule, _argsImtokenPos, _argsIscopes, _argsIvariableStyle, _argsIwarnings) ->- ( case ( ( _argsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _argsIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _argsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( False- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( _argsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _argsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _argsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _argsIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_PFExprSuffix_Call_1- )- ) of- (sem_PFExprSuffix_1) ->- (_lhsOcopy, sem_PFExprSuffix_1)- )- )- )- )-sem_PFExprSuffix_MetaCall- :: T_MToken- -> T_Args- -> T_PFExprSuffix-sem_PFExprSuffix_MetaCall fn_ args_ =- ( case (args_) of- (_argsIcopy, args_1) ->- ( case (fn_) of- (_fnIcopy, _fnImtok, _fnImtokenPos, fn_1) ->- ( case ( ( MetaCall _fnIcopy _argsIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_PFExprSuffix_MetaCall_1 :: T_PFExprSuffix_1- sem_PFExprSuffix_MetaCall_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _fnOscopes ->- ( case ( ( _lhsImtokenPos- )- ) of- _fnOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _fnOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _fnOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _fnOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _fnOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _fnOconfig ->- ( case (fn_1 _fnOconfig _fnOfuncName _fnOglobalDefinitions _fnOisInModule _fnOisMeta _fnOmtokenPos _fnOscopes) of- (_fnIglobalDefinitions, _fnIidentifier, _fnIisInModule, _fnIscopes, _fnIwarnings) ->- ( case ( ( _fnIscopes- )- ) of- _argsOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _argsOisMeta ->- ( case ( ( _fnIisInModule- )- ) of- _argsOisInModule ->- ( case ( ( _fnIglobalDefinitions- )- ) of- _argsOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _argsOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _argsOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _argsOscopeLevel ->- ( case ( ( _fnImtokenPos- )- ) of- _argsOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _argsOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _argsOfuncName ->- ( case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOvariableStyle) of- (_argsIglobalDefinitions, _argsIidentifier, _argsIisInModule, _argsImtokenPos, _argsIscopes, _argsIvariableStyle, _argsIwarnings) ->- ( case ( ( _argsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _fnIidentifier _argsIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _argsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( False- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( _argsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _argsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _argsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _fnIwarnings ++ _argsIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_PFExprSuffix_MetaCall_1- )- ) of- (sem_PFExprSuffix_1) ->- (_lhsOcopy, sem_PFExprSuffix_1)- )- )- )- )- )-sem_PFExprSuffix_ExprIndex- :: T_MExpr- -> T_PFExprSuffix-sem_PFExprSuffix_ExprIndex index_ =- ( case (index_) of- (_indexIcopy, _indexImtokenPos, index_1) ->- ( case ( ( ExprIndex _indexIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_PFExprSuffix_ExprIndex_1 :: T_PFExprSuffix_1- sem_PFExprSuffix_ExprIndex_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _indexOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _indexOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _indexOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _indexOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _indexOconfig ->- ( case ( ( Nothing- )- ) of- _indexOvarBeingDefined ->- ( case ( ( _lhsIvariableStyle- )- ) of- _indexOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _indexOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _indexOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _indexOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _indexOfuncName ->- ( case ( ( True- )- ) of- _indexOtopLevel ->- ( case ( ( True- )- ) of- _indexOinParentheses ->- ( case ( ( False- )- ) of- _indexOisNegation ->- ( case (index_1 _indexOconfig _indexOfuncName _indexOglobalDefinitions _indexOinParentheses _indexOisInModule _indexOisMeta _indexOisNegation _indexOloopLevel _indexOmtokenPos _indexOscopeLevel _indexOscopes _indexOtopLevel _indexOvarBeingDefined _indexOvariableStyle) of- (_indexIglobalDefinitions, _indexIidentifier, _indexIisInModule, _indexIisSimpleExpression, _indexIisSingleVar, _indexIscopes, _indexIvariableStyle, _indexIwarnings) ->- ( case ( ( _indexIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _indexIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _indexIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _indexIisSimpleExpression- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( _indexImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _indexIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _indexIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _indexIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_PFExprSuffix_ExprIndex_1- )- ) of- (sem_PFExprSuffix_1) ->- (_lhsOcopy, sem_PFExprSuffix_1)- )- )- )- )-sem_PFExprSuffix_DotIndex- :: T_MToken- -> T_PFExprSuffix-sem_PFExprSuffix_DotIndex index_ =- ( case (index_) of- (_indexIcopy, _indexImtok, _indexImtokenPos, index_1) ->- ( case ( ( DotIndex _indexIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_PFExprSuffix_DotIndex_1 :: T_PFExprSuffix_1- sem_PFExprSuffix_DotIndex_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _indexOglobalDefinitions ->- ( case ( ( _lhsIscopes- )- ) of- _indexOscopes ->- ( case ( ( _lhsImtokenPos- )- ) of- _indexOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _indexOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _indexOisInModule ->- ( case ( ( _lhsIfuncName- )- ) of- _indexOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _indexOconfig ->- ( case (index_1 _indexOconfig _indexOfuncName _indexOglobalDefinitions _indexOisInModule _indexOisMeta _indexOmtokenPos _indexOscopes) of- (_indexIglobalDefinitions, _indexIidentifier, _indexIisInModule, _indexIscopes, _indexIwarnings) ->- ( case ( ( _indexIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _indexIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _indexIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( True- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( _indexImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _indexIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _indexIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_PFExprSuffix_DotIndex_1- )- ) of- (sem_PFExprSuffix_1) ->- (_lhsOcopy, sem_PFExprSuffix_1)- )- )- )- )---- PrefixExp ------------------------------------------------------ cata-sem_PrefixExp- :: PrefixExp- -> T_PrefixExp-sem_PrefixExp (PFVar _name _suffixes) =- (sem_PrefixExp_PFVar (sem_MToken _name) (sem_ExprSuffixList _suffixes))-sem_PrefixExp (ExprVar _expr _suffixes) =- (sem_PrefixExp_ExprVar (sem_MExpr _expr) (sem_ExprSuffixList _suffixes))---- semantic domain-type T_PrefixExp = (PrefixExp, Bool, Region, (Maybe MToken), T_PrefixExp_1)-type T_PrefixExp_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Bool- -> Bool- -> Int- -> Region- -> Bool- -> Int- -> ([M.Map String (Bool, Region)])- -> Bool- -> (Maybe MToken)- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Bool, (Maybe MToken), ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_PrefixExp = Inh_PrefixExp {config_Inh_PrefixExp :: LintSettings, funcName_Inh_PrefixExp :: String, globalDefinitions_Inh_PrefixExp :: (M.Map String [Region]), inParentheses_Inh_PrefixExp :: Bool, isInModule_Inh_PrefixExp :: Bool, isMeta_Inh_PrefixExp :: Bool, isNegation_Inh_PrefixExp :: Bool, loopLevel_Inh_PrefixExp :: Int, mtokenPos_Inh_PrefixExp :: Region, registerVarUse_Inh_PrefixExp :: Bool, scopeLevel_Inh_PrefixExp :: Int, scopes_Inh_PrefixExp :: ([M.Map String (Bool, Region)]), topLevel_Inh_PrefixExp :: Bool, varBeingDefined_Inh_PrefixExp :: (Maybe MToken), variableStyle_Inh_PrefixExp :: DeterminedVariableStyle}-data Syn_PrefixExp = Syn_PrefixExp {copy_Syn_PrefixExp :: PrefixExp, globalDefinitions_Syn_PrefixExp :: (M.Map String [Region]), hasSuffixes_Syn_PrefixExp :: Bool, identifier_Syn_PrefixExp :: String, isInModule_Syn_PrefixExp :: Bool, isSimpleExpression_Syn_PrefixExp :: Bool, isSingleVar_Syn_PrefixExp :: (Maybe MToken), mtokenPos_Syn_PrefixExp :: Region, scopes_Syn_PrefixExp :: ([M.Map String (Bool, Region)]), varName_Syn_PrefixExp :: (Maybe MToken), variableStyle_Syn_PrefixExp :: DeterminedVariableStyle, warnings_Syn_PrefixExp :: ([String -> LintMessage])}-wrap_PrefixExp- :: T_PrefixExp- -> Inh_PrefixExp- -> Syn_PrefixExp-wrap_PrefixExp sem (Inh_PrefixExp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIregisterVarUse _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =- ( let- (_lhsOcopy, _lhsOhasSuffixes, _lhsOmtokenPos, _lhsOvarName, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIregisterVarUse _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle- in- (Syn_PrefixExp _lhsOcopy _lhsOglobalDefinitions _lhsOhasSuffixes _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvarName _lhsOvariableStyle _lhsOwarnings)- )-sem_PrefixExp_PFVar- :: T_MToken- -> T_ExprSuffixList- -> T_PrefixExp-sem_PrefixExp_PFVar name_ suffixes_ =- ( case (suffixes_) of- (_suffixesIcopy, suffixes_1) ->- ( case (name_) of- (_nameIcopy, _nameImtok, _nameImtokenPos, name_1) ->- ( case ( ( PFVar _nameIcopy _suffixesIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( not . null $ _suffixesIcopy- )- ) of- _lhsOhasSuffixes ->- ( case ( ( _nameImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( Just _nameIcopy- )- ) of- _varName ->- ( case ( ( _varName- )- ) of- _lhsOvarName ->- ( case ( ( let- sem_PrefixExp_PFVar_1 :: T_PrefixExp_1- sem_PrefixExp_PFVar_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIregisterVarUse- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( if isJust _lhsIvarBeingDefined && _lhsIvarBeingDefined == _varName- then case _lhsIscopes of- deepestScope : otherScopes -> deepestScope : registerVariable otherScopes _nameImtokenPos (show _nameImtok) _lhsIregisterVarUse- noScopes -> noScopes- else registerVariable _lhsIscopes _nameImtokenPos (show _nameImtok) _lhsIregisterVarUse- )- ) of- _foundVars ->- ( case ( ( _foundVars- )- ) of- _nameOscopes ->- ( case ( ( _lhsImtokenPos- )- ) of- _nameOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _nameOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _nameOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _nameOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _nameOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _nameOconfig ->- ( case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOmtokenPos _nameOscopes) of- (_nameIglobalDefinitions, _nameIidentifier, _nameIisInModule, _nameIscopes, _nameIwarnings) ->- ( case ( ( _nameIscopes- )- ) of- _suffixesOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _suffixesOisMeta ->- ( case ( ( _nameIisInModule- )- ) of- _suffixesOisInModule ->- ( case ( ( _nameIglobalDefinitions- )- ) of- _suffixesOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _suffixesOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _suffixesOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _suffixesOscopeLevel ->- ( case ( ( _nameImtokenPos- )- ) of- _suffixesOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _suffixesOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _suffixesOfuncName ->- ( case (suffixes_1 _suffixesOconfig _suffixesOfuncName _suffixesOglobalDefinitions _suffixesOisInModule _suffixesOisMeta _suffixesOloopLevel _suffixesOmtokenPos _suffixesOscopeLevel _suffixesOscopes _suffixesOvariableStyle) of- (_suffixesIglobalDefinitions, _suffixesIidentifier, _suffixesIisInModule, _suffixesIisSimpleExpression, _suffixesImtokenPos, _suffixesIscopes, _suffixesIvariableStyle, _suffixesIwarnings) ->- ( case ( ( _suffixesIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _nameIidentifier _suffixesIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _suffixesIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _suffixesIisSimpleExpression- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( if null _suffixesIcopy then _varName else Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _suffixesIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _suffixesIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _nameIwarnings ++ _suffixesIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( tokenLabel _nameIcopy- )- ) of- _name ->- ( case ( ( if not (lint_beginnerMistakes _lhsIconfig) || _lhsIisMeta || _name /= "self"- then id- else (:) $ warn _nameImtokenPos SelfInNonMeta- )- ) of- _warnings_augmented_f3 ->- ( case ( ( if not (lint_beginnerMistakes _lhsIconfig)- || not _lhsIisMeta- || _name /= "self"- || _lhsIfuncName /= "ENT"- || _suffixesIidentifier /= "Entity"- then id- else (:) $ warn _nameImtokenPos SelfEntity- )- ) of- _warnings_augmented_f2 ->- ( case ( ( if not (lint_beginnerMistakes _lhsIconfig)- || not _lhsIisMeta- || _name /= "self"- || _lhsIfuncName /= "SWEP"- || _suffixesIidentifier /= "Weapon"- then id- else (:) $ warn _nameImtokenPos SelfWeapon- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2, _warnings_augmented_f3]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_PrefixExp_PFVar_1- )- ) of- (sem_PrefixExp_1) ->- (_lhsOcopy, _lhsOhasSuffixes, _lhsOmtokenPos, _lhsOvarName, sem_PrefixExp_1)- )- )- )- )- )- )- )- )- )-sem_PrefixExp_ExprVar- :: T_MExpr- -> T_ExprSuffixList- -> T_PrefixExp-sem_PrefixExp_ExprVar expr_ suffixes_ =- ( case (suffixes_) of- (_suffixesIcopy, suffixes_1) ->- ( case (expr_) of- (_exprIcopy, _exprImtokenPos, expr_1) ->- ( case ( ( ExprVar _exprIcopy _suffixesIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( False- )- ) of- _lhsOhasSuffixes ->- ( case ( ( _exprImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( Nothing- )- ) of- _lhsOvarName ->- ( case ( ( let- sem_PrefixExp_ExprVar_1 :: T_PrefixExp_1- sem_PrefixExp_ExprVar_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIinParentheses- _lhsIisInModule- _lhsIisMeta- _lhsIisNegation- _lhsIloopLevel- _lhsImtokenPos- _lhsIregisterVarUse- _lhsIscopeLevel- _lhsIscopes- _lhsItopLevel- _lhsIvarBeingDefined- _lhsIvariableStyle ->- ( case ( ( _lhsIvarBeingDefined- )- ) of- _exprOvarBeingDefined ->- ( case ( ( _lhsIscopes- )- ) of- _exprOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _exprOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _exprOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _exprOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _exprOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _exprOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _exprOloopLevel ->- ( case ( ( _lhsIisNegation- )- ) of- _exprOisNegation ->- ( case ( ( _lhsIisInModule- )- ) of- _exprOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _exprOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _exprOfuncName ->- ( case ( ( True- )- ) of- _exprOtopLevel ->- ( case ( ( True- )- ) of- _exprOinParentheses ->- ( case (expr_1 _exprOconfig _exprOfuncName _exprOglobalDefinitions _exprOinParentheses _exprOisInModule _exprOisMeta _exprOisNegation _exprOloopLevel _exprOmtokenPos _exprOscopeLevel _exprOscopes _exprOtopLevel _exprOvarBeingDefined _exprOvariableStyle) of- (_exprIglobalDefinitions, _exprIidentifier, _exprIisInModule, _exprIisSimpleExpression, _exprIisSingleVar, _exprIscopes, _exprIvariableStyle, _exprIwarnings) ->- ( case ( ( _exprIscopes- )- ) of- _suffixesOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _suffixesOisMeta ->- ( case ( ( _exprIisInModule- )- ) of- _suffixesOisInModule ->- ( case ( ( _exprIglobalDefinitions- )- ) of- _suffixesOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _suffixesOconfig ->- ( case ( ( _exprIvariableStyle- )- ) of- _suffixesOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _suffixesOscopeLevel ->- ( case ( ( _exprImtokenPos- )- ) of- _suffixesOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _suffixesOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _suffixesOfuncName ->- ( case (suffixes_1 _suffixesOconfig _suffixesOfuncName _suffixesOglobalDefinitions _suffixesOisInModule _suffixesOisMeta _suffixesOloopLevel _suffixesOmtokenPos _suffixesOscopeLevel _suffixesOscopes _suffixesOvariableStyle) of- (_suffixesIglobalDefinitions, _suffixesIidentifier, _suffixesIisInModule, _suffixesIisSimpleExpression, _suffixesImtokenPos, _suffixesIscopes, _suffixesIvariableStyle, _suffixesIwarnings) ->- ( case ( ( _suffixesIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _exprIidentifier _suffixesIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _suffixesIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _exprIisSimpleExpression && _suffixesIisSimpleExpression- )- ) of- _lhsOisSimpleExpression ->- ( case ( ( Nothing- )- ) of- _lhsOisSingleVar ->- ( case ( ( _suffixesIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _suffixesIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _exprIwarnings ++ _suffixesIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( if lint_redundantParentheses _lhsIconfig && null _suffixesIcopy && (_lhsIinParentheses || (not _lhsItopLevel && _exprIisSimpleExpression))- then (:) $ warn _lhsImtokenPos UnnecessaryParentheses- else id- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisSimpleExpression, _lhsOisSingleVar, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_PrefixExp_ExprVar_1- )- ) of- (sem_PrefixExp_1) ->- (_lhsOcopy, _lhsOhasSuffixes, _lhsOmtokenPos, _lhsOvarName, sem_PrefixExp_1)- )- )- )- )- )- )- )- )---- Region --------------------------------------------------------- cata-sem_Region- :: Region- -> T_Region-sem_Region (Region _start _end) =- (sem_Region_Region _start _end)---- semantic domain-type T_Region = (Region, String, ([String -> LintMessage]))-data Inh_Region = Inh_Region {}-data Syn_Region = Syn_Region {copy_Syn_Region :: Region, identifier_Syn_Region :: String, warnings_Syn_Region :: ([String -> LintMessage])}-wrap_Region- :: T_Region- -> Inh_Region- -> Syn_Region-wrap_Region sem (Inh_Region) =- ( let- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings) = sem- in- (Syn_Region _lhsOcopy _lhsOidentifier _lhsOwarnings)- )-sem_Region_Region- :: LineColPos- -> LineColPos- -> T_Region-sem_Region_Region start_ end_ =- ( case ( ( Region start_ end_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )---- Stat ----------------------------------------------------------- cata-sem_Stat- :: Stat- -> T_Stat-sem_Stat (Def _vars) =- (sem_Stat_Def (sem_VarsList _vars))-sem_Stat (LocDef _vars) =- (sem_Stat_LocDef (sem_VarsList _vars))-sem_Stat (AFuncCall _fn) =- (sem_Stat_AFuncCall (sem_PrefixExp _fn))-sem_Stat (ALabel _lbl) =- (sem_Stat_ALabel (sem_MToken _lbl))-sem_Stat (ABreak) =- (sem_Stat_ABreak)-sem_Stat (AContinue) =- (sem_Stat_AContinue)-sem_Stat (AGoto _lbl) =- (sem_Stat_AGoto (sem_MToken _lbl))-sem_Stat (ADo _body) =- (sem_Stat_ADo (sem_Block _body))-sem_Stat (AWhile _cond _body) =- (sem_Stat_AWhile (sem_MExpr _cond) (sem_Block _body))-sem_Stat (ARepeat _body _cond) =- (sem_Stat_ARepeat (sem_Block _body) (sem_MExpr _cond))-sem_Stat (AIf _cond _body _elifs _els) =- (sem_Stat_AIf (sem_MExpr _cond) (sem_Block _body) (sem_ElseIfList _elifs) (sem_Else _els))-sem_Stat (ANFor _var _val _to _step _body) =- (sem_Stat_ANFor (sem_MToken _var) (sem_MExpr _val) (sem_MExpr _to) (sem_MExpr _step) (sem_Block _body))-sem_Stat (AGFor _vars _vals _body) =- (sem_Stat_AGFor _vars (sem_MExprList _vals) (sem_Block _body))-sem_Stat (AFunc _name _args _body) =- (sem_Stat_AFunc (sem_FuncName _name) _args (sem_Block _body))-sem_Stat (ALocFunc _name _args _body) =- (sem_Stat_ALocFunc (sem_FuncName _name) _args (sem_Block _body))---- semantic domain-type T_Stat = (Stat, T_Stat_1)-type T_Stat_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_Stat = Inh_Stat {config_Inh_Stat :: LintSettings, funcName_Inh_Stat :: String, globalDefinitions_Inh_Stat :: (M.Map String [Region]), isInModule_Inh_Stat :: Bool, isMeta_Inh_Stat :: Bool, loopLevel_Inh_Stat :: Int, mtokenPos_Inh_Stat :: Region, scopeLevel_Inh_Stat :: Int, scopes_Inh_Stat :: ([M.Map String (Bool, Region)]), variableStyle_Inh_Stat :: DeterminedVariableStyle}-data Syn_Stat = Syn_Stat {copy_Syn_Stat :: Stat, globalDefinitions_Syn_Stat :: (M.Map String [Region]), identifier_Syn_Stat :: String, isIfStatement_Syn_Stat :: Bool, isInModule_Syn_Stat :: Bool, mtokenPos_Syn_Stat :: Region, scopes_Syn_Stat :: ([M.Map String (Bool, Region)]), variableStyle_Syn_Stat :: DeterminedVariableStyle, warnings_Syn_Stat :: ([String -> LintMessage])}-wrap_Stat- :: T_Stat- -> Inh_Stat- -> Syn_Stat-wrap_Stat sem (Inh_Stat _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_Stat _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_Stat_Def- :: T_VarsList- -> T_Stat-sem_Stat_Def vars_ =- ( case (vars_) of- (_varsIcopy, vars_1) ->- ( case ( ( Def _varsIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_Def_1 :: T_Stat_1- sem_Stat_Def_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _varsOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _varsOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _varsOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _varsOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _varsOconfig ->- ( case ( ( False- )- ) of- _varsOlocalDefinition ->- ( case ( ( _lhsIvariableStyle- )- ) of- _varsOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _varsOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _varsOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _varsOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _varsOfuncName ->- ( case (vars_1 _varsOconfig _varsOfuncName _varsOglobalDefinitions _varsOisInModule _varsOisMeta _varsOlocalDefinition _varsOloopLevel _varsOmtokenPos _varsOscopeLevel _varsOscopes _varsOvariableStyle) of- (_varsIglobalDefinitions, _varsIidentifier, _varsIisInModule, _varsImtokenPos, _varsIscopes, _varsIvariableStyle, _varsIwarnings) ->- ( case ( ( _varsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _varsIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _varsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _varsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _varsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _varsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _varsIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_Def_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )-sem_Stat_LocDef- :: T_VarsList- -> T_Stat-sem_Stat_LocDef vars_ =- ( case (vars_) of- (_varsIcopy, vars_1) ->- ( case ( ( LocDef _varsIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_LocDef_1 :: T_Stat_1- sem_Stat_LocDef_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _varsOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _varsOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _varsOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _varsOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _varsOconfig ->- ( case ( ( True- )- ) of- _varsOlocalDefinition ->- ( case ( ( _lhsIvariableStyle- )- ) of- _varsOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _varsOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _varsOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _varsOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _varsOfuncName ->- ( case (vars_1 _varsOconfig _varsOfuncName _varsOglobalDefinitions _varsOisInModule _varsOisMeta _varsOlocalDefinition _varsOloopLevel _varsOmtokenPos _varsOscopeLevel _varsOscopes _varsOvariableStyle) of- (_varsIglobalDefinitions, _varsIidentifier, _varsIisInModule, _varsImtokenPos, _varsIscopes, _varsIvariableStyle, _varsIwarnings) ->- ( case ( ( _varsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _varsIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _varsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _varsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _varsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _varsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _varsIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_LocDef_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )-sem_Stat_AFuncCall- :: T_PrefixExp- -> T_Stat-sem_Stat_AFuncCall fn_ =- ( case (fn_) of- (_fnIcopy, _fnIhasSuffixes, _fnImtokenPos, _fnIvarName, fn_1) ->- ( case ( ( AFuncCall _fnIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_AFuncCall_1 :: T_Stat_1- sem_Stat_AFuncCall_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _fnOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _fnOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _fnOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _fnOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _fnOconfig ->- ( case ( ( Nothing- )- ) of- _fnOvarBeingDefined ->- ( case ( ( True- )- ) of- _fnOregisterVarUse ->- ( case ( ( _lhsIvariableStyle- )- ) of- _fnOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _fnOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _fnOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _fnOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _fnOfuncName ->- ( case ( ( True- )- ) of- _fnOtopLevel ->- ( case ( ( False- )- ) of- _fnOinParentheses ->- ( case ( ( False- )- ) of- _fnOisNegation ->- ( case (fn_1 _fnOconfig _fnOfuncName _fnOglobalDefinitions _fnOinParentheses _fnOisInModule _fnOisMeta _fnOisNegation _fnOloopLevel _fnOmtokenPos _fnOregisterVarUse _fnOscopeLevel _fnOscopes _fnOtopLevel _fnOvarBeingDefined _fnOvariableStyle) of- (_fnIglobalDefinitions, _fnIidentifier, _fnIisInModule, _fnIisSimpleExpression, _fnIisSingleVar, _fnIscopes, _fnIvariableStyle, _fnIwarnings) ->- ( case ( ( _fnIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _fnIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( (tokenLabel <$> _fnIvarName) == Just "module"- )- ) of- _isModuleCall ->- ( case ( ( _lhsIisInModule || _isModuleCall- )- ) of- _lhsOisInModule ->- ( case ( ( _fnImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _fnIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _fnIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _fnIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_AFuncCall_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )-sem_Stat_ALabel- :: T_MToken- -> T_Stat-sem_Stat_ALabel lbl_ =- ( case (lbl_) of- (_lblIcopy, _lblImtok, _lblImtokenPos, lbl_1) ->- ( case ( ( ALabel _lblIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_ALabel_1 :: T_Stat_1- sem_Stat_ALabel_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lblOglobalDefinitions ->- ( case ( ( _lhsIscopes- )- ) of- _lblOscopes ->- ( case ( ( _lhsImtokenPos- )- ) of- _lblOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _lblOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _lblOisInModule ->- ( case ( ( _lhsIfuncName- )- ) of- _lblOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _lblOconfig ->- ( case (lbl_1 _lblOconfig _lblOfuncName _lblOglobalDefinitions _lblOisInModule _lblOisMeta _lblOmtokenPos _lblOscopes) of- (_lblIglobalDefinitions, _lblIidentifier, _lblIisInModule, _lblIscopes, _lblIwarnings) ->- ( case ( ( _lblIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _lblIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _lblIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lblImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lblIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _lblIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_ALabel_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )-sem_Stat_ABreak :: T_Stat-sem_Stat_ABreak =- ( case ( ( ABreak- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_ABreak_1 :: T_Stat_1- sem_Stat_ABreak_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_Stat_ABreak_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )-sem_Stat_AContinue :: T_Stat-sem_Stat_AContinue =- ( case ( ( AContinue- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_AContinue_1 :: T_Stat_1- sem_Stat_AContinue_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_Stat_AContinue_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )-sem_Stat_AGoto- :: T_MToken- -> T_Stat-sem_Stat_AGoto lbl_ =- ( case (lbl_) of- (_lblIcopy, _lblImtok, _lblImtokenPos, lbl_1) ->- ( case ( ( AGoto _lblIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_AGoto_1 :: T_Stat_1- sem_Stat_AGoto_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lblOglobalDefinitions ->- ( case ( ( _lhsIscopes- )- ) of- _lblOscopes ->- ( case ( ( _lhsImtokenPos- )- ) of- _lblOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _lblOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _lblOisInModule ->- ( case ( ( _lhsIfuncName- )- ) of- _lblOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _lblOconfig ->- ( case (lbl_1 _lblOconfig _lblOfuncName _lblOglobalDefinitions _lblOisInModule _lblOisMeta _lblOmtokenPos _lblOscopes) of- (_lblIglobalDefinitions, _lblIidentifier, _lblIisInModule, _lblIscopes, _lblIwarnings) ->- ( case ( ( _lblIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _lblIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _lblIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lblImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lblIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _lblIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( if not (lint_gotos _lhsIconfig) || _lhsIloopLevel >= 2- then id- else (:) $ warn _lblImtokenPos AvoidGoto- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_AGoto_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )-sem_Stat_ADo- :: T_Block- -> T_Stat-sem_Stat_ADo body_ =- ( case (body_) of- (_bodyIcopy, body_1) ->- ( case ( ( ADo _bodyIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_ADo_1 :: T_Stat_1- sem_Stat_ADo_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIisMeta- )- ) of- _bodyOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _bodyOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _bodyOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _bodyOconfig ->- ( case ( ( M.empty : _lhsIscopes- )- ) of- _bodyOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _bodyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _bodyOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _bodyOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _bodyOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _bodyOfuncName ->- ( case ( ( False- )- ) of- _bodyOisRepeat ->- ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of- (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->- ( case ( ( _bodyIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( _bodyIidentifier- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _bodyIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _bodyImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _bodyIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _bodyIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _bodyIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0- then id- else (:) $ warn _lhsImtokenPos EmptyDoBlock- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_ADo_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )-sem_Stat_AWhile- :: T_MExpr- -> T_Block- -> T_Stat-sem_Stat_AWhile cond_ body_ =- ( case (body_) of- (_bodyIcopy, body_1) ->- ( case (cond_) of- (_condIcopy, _condImtokenPos, cond_1) ->- ( case ( ( AWhile _condIcopy _bodyIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_AWhile_1 :: T_Stat_1- sem_Stat_AWhile_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIisMeta- )- ) of- _bodyOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _condOisInModule ->- ( case ( ( _lhsIvariableStyle- )- ) of- _condOvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _condOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _condOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _condOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _condOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _condOisMeta ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _condOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _condOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _condOconfig ->- ( case ( ( Nothing- )- ) of- _condOvarBeingDefined ->- ( case ( ( True- )- ) of- _condOtopLevel ->- ( case ( ( False- )- ) of- _condOinParentheses ->- ( case ( ( False- )- ) of- _condOisNegation ->- ( case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of- (_condIglobalDefinitions, _condIidentifier, _condIisInModule, _condIisSimpleExpression, _condIisSingleVar, _condIscopes, _condIvariableStyle, _condIwarnings) ->- ( case ( ( _condIisInModule- )- ) of- _bodyOisInModule ->- ( case ( ( _condIglobalDefinitions- )- ) of- _bodyOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _bodyOconfig ->- ( case ( ( M.empty : _condIscopes- )- ) of- _bodyOscopes ->- ( case ( ( _condIvariableStyle- )- ) of- _bodyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _bodyOscopeLevel ->- ( case ( ( _condImtokenPos- )- ) of- _bodyOmtokenPos ->- ( case ( ( _lhsIfuncName- )- ) of- _bodyOfuncName ->- ( case ( ( False- )- ) of- _bodyOisRepeat ->- ( case ( ( _lhsIloopLevel + 1- )- ) of- _bodyOloopLevel ->- ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of- (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->- ( case ( ( _bodyIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _condIidentifier _bodyIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _bodyIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _bodyImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _bodyIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _bodyIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _condIwarnings ++ _bodyIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0- then id- else (:) $ warn _lhsImtokenPos EmptyWhileLoop- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_AWhile_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )- )-sem_Stat_ARepeat- :: T_Block- -> T_MExpr- -> T_Stat-sem_Stat_ARepeat body_ cond_ =- ( case (cond_) of- (_condIcopy, _condImtokenPos, cond_1) ->- ( case (body_) of- (_bodyIcopy, body_1) ->- ( case ( ( ARepeat _bodyIcopy _condIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_ARepeat_1 :: T_Stat_1- sem_Stat_ARepeat_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIisMeta- )- ) of- _bodyOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _bodyOconfig ->- ( case ( ( M.empty : _lhsIscopes- )- ) of- _bodyOscopes ->- ( case ( ( True- )- ) of- _bodyOisRepeat ->- ( case ( ( _lhsIvariableStyle- )- ) of- _bodyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _bodyOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _bodyOmtokenPos ->- ( case ( ( _lhsIisInModule- )- ) of- _bodyOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _bodyOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _bodyOfuncName ->- ( case ( ( _lhsIloopLevel + 1- )- ) of- _bodyOloopLevel ->- ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of- (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->- ( case ( ( _bodyIscopes- )- ) of- _condOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _condOisMeta ->- ( case ( ( _bodyIisInModule- )- ) of- _condOisInModule ->- ( case ( ( _bodyIglobalDefinitions- )- ) of- _condOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _condOconfig ->- ( case ( ( Nothing- )- ) of- _condOvarBeingDefined ->- ( case ( ( _bodyIvariableStyle- )- ) of- _condOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _condOscopeLevel ->- ( case ( ( _bodyImtokenPos- )- ) of- _condOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _condOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _condOfuncName ->- ( case ( ( True- )- ) of- _condOtopLevel ->- ( case ( ( False- )- ) of- _condOinParentheses ->- ( case ( ( False- )- ) of- _condOisNegation ->- ( case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of- (_condIglobalDefinitions, _condIidentifier, _condIisInModule, _condIisSimpleExpression, _condIisSingleVar, _condIscopes, _condIvariableStyle, _condIwarnings) ->- ( case ( ( _condIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _bodyIidentifier _condIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _condIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _condImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( tail _condIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _condIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _bodyIwarnings ++ _condIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0- then id- else (:) $ warn _lhsImtokenPos EmptyRepeat- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_ARepeat_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )- )-sem_Stat_AIf- :: T_MExpr- -> T_Block- -> T_ElseIfList- -> T_Else- -> T_Stat-sem_Stat_AIf cond_ body_ elifs_ els_ =- ( case (els_) of- (_elsIcopy, els_1) ->- ( case (elifs_) of- (_elifsIcopy, elifs_1) ->- ( case (body_) of- (_bodyIcopy, body_1) ->- ( case (cond_) of- (_condIcopy, _condImtokenPos, cond_1) ->- ( case ( ( AIf _condIcopy _bodyIcopy _elifsIcopy _elsIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_AIf_1 :: T_Stat_1- sem_Stat_AIf_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIisMeta- )- ) of- _bodyOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _bodyOconfig ->- ( case ( ( _lhsIscopes- )- ) of- _condOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _condOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _condOconfig ->- ( case ( ( False- )- ) of- _bodyOisRepeat ->- ( case ( ( Nothing- )- ) of- _condOvarBeingDefined ->- ( case ( ( _lhsIvariableStyle- )- ) of- _condOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _condOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _condOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _condOloopLevel ->- ( case ( ( _lhsIisInModule- )- ) of- _condOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _condOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _condOfuncName ->- ( case ( ( True- )- ) of- _condOtopLevel ->- ( case ( ( False- )- ) of- _condOinParentheses ->- ( case ( ( False- )- ) of- _condOisNegation ->- ( case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of- (_condIglobalDefinitions, _condIidentifier, _condIisInModule, _condIisSimpleExpression, _condIisSingleVar, _condIscopes, _condIvariableStyle, _condIwarnings) ->- ( case ( ( M.empty : _condIscopes- )- ) of- _bodyOscopes ->- ( case ( ( _condIvariableStyle- )- ) of- _bodyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _bodyOscopeLevel ->- ( case ( ( _condImtokenPos- )- ) of- _bodyOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _bodyOloopLevel ->- ( case ( ( _condIisInModule- )- ) of- _bodyOisInModule ->- ( case ( ( _condIglobalDefinitions- )- ) of- _bodyOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _bodyOfuncName ->- ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of- (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->- ( case ( ( _bodyIscopes- )- ) of- _elifsOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _elifsOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _elifsOconfig ->- ( case ( ( _bodyIvariableStyle- )- ) of- _elifsOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _elifsOscopeLevel ->- ( case ( ( _lhsIloopLevel- )- ) of- _elifsOloopLevel ->- ( case ( ( _bodyIisInModule- )- ) of- _elifsOisInModule ->- ( case ( ( _bodyIglobalDefinitions- )- ) of- _elifsOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _elifsOfuncName ->- ( case ( ( _lhsImtokenPos- )- ) of- _elifsOmtokenPos ->- ( case (elifs_1 _elifsOconfig _elifsOfuncName _elifsOglobalDefinitions _elifsOisInModule _elifsOisMeta _elifsOloopLevel _elifsOmtokenPos _elifsOscopeLevel _elifsOscopes _elifsOvariableStyle) of- (_elifsIelseExists, _elifsIglobalDefinitions, _elifsIidentifier, _elifsIisInModule, _elifsImtokenPos, _elifsIscopes, _elifsIvariableStyle, _elifsIwarnings) ->- ( case ( ( _elifsIscopes- )- ) of- _elsOscopes ->- ( case ( ( _lhsIisMeta- )- ) of- _elsOisMeta ->- ( case ( ( _elifsIisInModule- )- ) of- _elsOisInModule ->- ( case ( ( _elifsIglobalDefinitions- )- ) of- _elsOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _elsOconfig ->- ( case ( ( _elifsIvariableStyle- )- ) of- _elsOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _elsOscopeLevel ->- ( case ( ( _lhsIloopLevel- )- ) of- _elsOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _elsOfuncName ->- ( case ( ( _lhsImtokenPos- )- ) of- _elsOmtokenPos ->- ( case (els_1 _elsOconfig _elsOfuncName _elsOglobalDefinitions _elsOisInModule _elsOisMeta _elsOloopLevel _elsOmtokenPos _elsOscopeLevel _elsOscopes _elsOvariableStyle) of- (_elsIelseExists, _elsIglobalDefinitions, _elsIidentifier, _elsIisInModule, _elsImtokenPos, _elsIscopes, _elsIvariableStyle, _elsIwarnings) ->- ( case ( ( _elsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _condIidentifier (const _bodyIidentifier (const _elifsIidentifier _elsIidentifier)))- )- ) of- _lhsOidentifier ->- ( case ( ( not _elifsIelseExists && not _elsIelseExists- )- ) of- _lhsOisIfStatement ->- ( case ( ( _elsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _elsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _elsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _elsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _condIwarnings ++ _bodyIwarnings ++ _elifsIwarnings ++ _elsIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( Region (rgStart _lhsImtokenPos) (customAdvanceToken (rgStart _lhsImtokenPos) If)- )- ) of- _keywordPos ->- ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0- then id- else (:) $ warn _keywordPos EmptyIf- )- ) of- _warnings_augmented_f2 ->- ( case ( ( if not (lint_redundantIfStatements _lhsIconfig) || _bodyIstatementCount /= 1 || not _bodyIisIfStatement || _elifsIelseExists || _elsIelseExists- then id- else (:) $ warn _bodyImtokenPos DoubleIf- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_AIf_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )- )- )- )-sem_Stat_ANFor- :: T_MToken- -> T_MExpr- -> T_MExpr- -> T_MExpr- -> T_Block- -> T_Stat-sem_Stat_ANFor var_ val_ to_ step_ body_ =- ( case (body_) of- (_bodyIcopy, body_1) ->- ( case (step_) of- (_stepIcopy, _stepImtokenPos, step_1) ->- ( case (to_) of- (_toIcopy, _toImtokenPos, to_1) ->- ( case (val_) of- (_valIcopy, _valImtokenPos, val_1) ->- ( case (var_) of- (_varIcopy, _varImtok, _varImtokenPos, var_1) ->- ( case ( ( ANFor _varIcopy _valIcopy _toIcopy _stepIcopy _bodyIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_ANFor_1 :: T_Stat_1- sem_Stat_ANFor_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIisMeta- )- ) of- _bodyOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _varOisInModule ->- ( case ( ( _lhsIscopes- )- ) of- _varOscopes ->- ( case ( ( _lhsImtokenPos- )- ) of- _varOmtokenPos ->- ( case ( ( _lhsIisMeta- )- ) of- _varOisMeta ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _varOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _varOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _varOconfig ->- ( case (var_1 _varOconfig _varOfuncName _varOglobalDefinitions _varOisInModule _varOisMeta _varOmtokenPos _varOscopes) of- (_varIglobalDefinitions, _varIidentifier, _varIisInModule, _varIscopes, _varIwarnings) ->- ( case ( ( _varIisInModule- )- ) of- _valOisInModule ->- ( case ( ( _lhsIvariableStyle- )- ) of- _valOvariableStyle ->- ( case ( ( _varIscopes- )- ) of- _valOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _valOscopeLevel ->- ( case ( ( _varImtokenPos- )- ) of- _valOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _valOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _valOisMeta ->- ( case ( ( _varIglobalDefinitions- )- ) of- _valOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _valOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _valOconfig ->- ( case ( ( Nothing- )- ) of- _valOvarBeingDefined ->- ( case ( ( True- )- ) of- _valOtopLevel ->- ( case ( ( False- )- ) of- _valOinParentheses ->- ( case ( ( False- )- ) of- _valOisNegation ->- ( case (val_1 _valOconfig _valOfuncName _valOglobalDefinitions _valOinParentheses _valOisInModule _valOisMeta _valOisNegation _valOloopLevel _valOmtokenPos _valOscopeLevel _valOscopes _valOtopLevel _valOvarBeingDefined _valOvariableStyle) of- (_valIglobalDefinitions, _valIidentifier, _valIisInModule, _valIisSimpleExpression, _valIisSingleVar, _valIscopes, _valIvariableStyle, _valIwarnings) ->- ( case ( ( _valIisInModule- )- ) of- _toOisInModule ->- ( case ( ( _valIvariableStyle- )- ) of- _toOvariableStyle ->- ( case ( ( _valIscopes- )- ) of- _toOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _toOscopeLevel ->- ( case ( ( _valImtokenPos- )- ) of- _toOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _toOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _toOisMeta ->- ( case ( ( _valIglobalDefinitions- )- ) of- _toOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _toOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _toOconfig ->- ( case ( ( Nothing- )- ) of- _toOvarBeingDefined ->- ( case ( ( True- )- ) of- _toOtopLevel ->- ( case ( ( False- )- ) of- _toOinParentheses ->- ( case ( ( False- )- ) of- _toOisNegation ->- ( case (to_1 _toOconfig _toOfuncName _toOglobalDefinitions _toOinParentheses _toOisInModule _toOisMeta _toOisNegation _toOloopLevel _toOmtokenPos _toOscopeLevel _toOscopes _toOtopLevel _toOvarBeingDefined _toOvariableStyle) of- (_toIglobalDefinitions, _toIidentifier, _toIisInModule, _toIisSimpleExpression, _toIisSingleVar, _toIscopes, _toIvariableStyle, _toIwarnings) ->- ( case ( ( _toIisInModule- )- ) of- _stepOisInModule ->- ( case ( ( _toIvariableStyle- )- ) of- _stepOvariableStyle ->- ( case ( ( _toIscopes- )- ) of- _stepOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _stepOscopeLevel ->- ( case ( ( _toImtokenPos- )- ) of- _stepOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _stepOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _stepOisMeta ->- ( case ( ( _toIglobalDefinitions- )- ) of- _stepOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _stepOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _stepOconfig ->- ( case ( ( Nothing- )- ) of- _stepOvarBeingDefined ->- ( case ( ( True- )- ) of- _stepOtopLevel ->- ( case ( ( False- )- ) of- _stepOinParentheses ->- ( case ( ( False- )- ) of- _stepOisNegation ->- ( case (step_1 _stepOconfig _stepOfuncName _stepOglobalDefinitions _stepOinParentheses _stepOisInModule _stepOisMeta _stepOisNegation _stepOloopLevel _stepOmtokenPos _stepOscopeLevel _stepOscopes _stepOtopLevel _stepOvarBeingDefined _stepOvariableStyle) of- (_stepIglobalDefinitions, _stepIidentifier, _stepIisInModule, _stepIisSimpleExpression, _stepIisSingleVar, _stepIscopes, _stepIvariableStyle, _stepIwarnings) ->- ( case ( ( _stepIisInModule- )- ) of- _bodyOisInModule ->- ( case ( ( _stepIglobalDefinitions- )- ) of- _bodyOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _bodyOconfig ->- ( case ( ( M.singleton _varIidentifier (not (lint_unusedLoopVars _lhsIconfig), _varImtokenPos) : _stepIscopes- )- ) of- _bodyOscopes ->- ( case ( ( _stepIvariableStyle- )- ) of- _bodyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _bodyOscopeLevel ->- ( case ( ( _stepImtokenPos- )- ) of- _bodyOmtokenPos ->- ( case ( ( _lhsIfuncName- )- ) of- _bodyOfuncName ->- ( case ( ( False- )- ) of- _bodyOisRepeat ->- ( case ( ( _lhsIloopLevel + 1- )- ) of- _bodyOloopLevel ->- ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of- (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->- ( case ( ( _bodyIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _varIidentifier (const _valIidentifier (const _toIidentifier (const _stepIidentifier _bodyIidentifier))))- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _bodyIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _bodyImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _bodyIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _bodyIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _varIwarnings ++ _valIwarnings ++ _toIwarnings ++ _stepIwarnings ++ _bodyIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( checkShadows _lhsIscopes _varIcopy- )- ) of- _shadowWarning ->- ( case ( ( if not (lint_shadowing _lhsIconfig) || isNothing _shadowWarning- then id- else (:) . fromMaybe (error "fromMaybe ANFor +warnings") $ _shadowWarning- )- ) of- _warnings_augmented_f2 ->- ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0- then id- else (:) $ warn _lhsImtokenPos EmptyFor- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_ANFor_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )- )- )- )- )-sem_Stat_AGFor- :: ([MToken])- -> T_MExprList- -> T_Block- -> T_Stat-sem_Stat_AGFor vars_ vals_ body_ =- ( case (body_) of- (_bodyIcopy, body_1) ->- ( case (vals_) of- (_valsIcopy, vals_1) ->- ( case ( ( AGFor vars_ _valsIcopy _bodyIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_AGFor_1 :: T_Stat_1- sem_Stat_AGFor_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIisMeta- )- ) of- _bodyOisMeta ->- ( case ( ( _lhsIisInModule- )- ) of- _valsOisInModule ->- ( case ( ( _lhsIvariableStyle- )- ) of- _valsOvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _valsOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _valsOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _valsOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _valsOloopLevel ->- ( case ( ( _lhsIisMeta- )- ) of- _valsOisMeta ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _valsOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _valsOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _valsOconfig ->- ( case ( ( True- )- ) of- _valsOtopLevel ->- ( case ( ( True- )- ) of- _valsOinParentheses ->- ( case (vals_1 _valsOconfig _valsOfuncName _valsOglobalDefinitions _valsOinParentheses _valsOisInModule _valsOisMeta _valsOloopLevel _valsOmtokenPos _valsOscopeLevel _valsOscopes _valsOtopLevel _valsOvariableStyle) of- (_valsIglobalDefinitions, _valsIidentifier, _valsIisInModule, _valsImtokenPos, _valsIscopes, _valsIvariableStyle, _valsIwarnings) ->- ( case ( ( _valsIisInModule- )- ) of- _bodyOisInModule ->- ( case ( ( _valsIglobalDefinitions- )- ) of- _bodyOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _bodyOconfig ->- ( case ( ( M.fromList $ map (\mt -> (tokenLabel mt, (not (lint_unusedLoopVars _lhsIconfig), mpos mt))) vars_- )- ) of- _introduces ->- ( case ( ( _introduces : _valsIscopes- )- ) of- _bodyOscopes ->- ( case ( ( _valsIvariableStyle- )- ) of- _bodyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _bodyOscopeLevel ->- ( case ( ( _valsImtokenPos- )- ) of- _bodyOmtokenPos ->- ( case ( ( _lhsIfuncName- )- ) of- _bodyOfuncName ->- ( case ( ( False- )- ) of- _bodyOisRepeat ->- ( case ( ( _lhsIloopLevel + 1- )- ) of- _bodyOloopLevel ->- ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of- (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->- ( case ( ( _bodyIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _valsIidentifier _bodyIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _bodyIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _bodyImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _bodyIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _bodyIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _valsIwarnings ++ _bodyIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( if not (lint_shadowing _lhsIconfig)- then id- else (++) . catMaybes . map (checkShadows _lhsIscopes) $ vars_- )- ) of- _warnings_augmented_f2 ->- ( case ( ( if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0- then id- else (:) $ warn _lhsImtokenPos EmptyFor- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_AGFor_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )- )-sem_Stat_AFunc- :: T_FuncName- -> ([MToken])- -> T_Block- -> T_Stat-sem_Stat_AFunc name_ args_ body_ =- ( case (body_) of- (_bodyIcopy, body_1) ->- ( case (name_) of- (_nameIcopy, _nameIisMeta, name_1) ->- ( case ( ( AFunc _nameIcopy args_ _bodyIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_AFunc_1 :: T_Stat_1- sem_Stat_AFunc_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIisInModule- )- ) of- _nameOisInModule ->- ( case ( ( _lhsIvariableStyle- )- ) of- _nameOvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _nameOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _nameOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _nameOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _nameOloopLevel ->- ( case ( ( _nameIisMeta || findSelf args_ || _lhsIisMeta- )- ) of- _isMeta ->- ( case ( ( _isMeta- )- ) of- _nameOisMeta ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _nameOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _nameOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _nameOconfig ->- ( case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOloopLevel _nameOmtokenPos _nameOscopeLevel _nameOscopes _nameOvariableStyle) of- (_nameIglobalDefinitions, _nameIhasSuffixes, _nameIidentifier, _nameIisInModule, _nameImtokenPos, _nameIscopes, _nameIvariableStyle, _nameIwarnings) ->- ( case ( ( _nameIisInModule- )- ) of- _bodyOisInModule ->- ( case ( ( _nameIglobalDefinitions- )- ) of- _bodyOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _bodyOconfig ->- ( case ( ( _isMeta- )- ) of- _bodyOisMeta ->- ( case ( ( filter (/= MToken emptyRg VarArg) $ args_- )- ) of- _argIdentifiers ->- ( case ( ( (if _isMeta then M.insert "self" (True, _nameImtokenPos) else id) $- M.fromList . map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) $- _argIdentifiers- )- ) of- _introduces ->- ( case ( ( _introduces : (registerVariable _nameIscopes _nameImtokenPos _nameIidentifier True)- )- ) of- _bodyOscopes ->- ( case ( ( _nameIvariableStyle- )- ) of- _bodyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _bodyOscopeLevel ->- ( case ( ( _nameImtokenPos- )- ) of- _bodyOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _bodyOloopLevel ->- ( case ( ( _nameIidentifier- )- ) of- _bodyOfuncName ->- ( case ( ( False- )- ) of- _bodyOisRepeat ->- ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of- (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->- ( case ( ( _bodyIglobalDefinitions- )- ) of- _globalDefinitions_augmented_syn ->- ( case ( ( if _lhsIisInModule || isVariableLocal _lhsIscopes _nameIidentifier || _nameIisMeta || _nameIhasSuffixes- then id- else M.insertWith (++) _nameIidentifier [_nameImtokenPos]- )- ) of- _globalDefinitions_augmented_f1 ->- ( case ( ( foldr ($) _globalDefinitions_augmented_syn [_globalDefinitions_augmented_f1]- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _nameIidentifier _bodyIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _bodyIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _bodyImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _bodyIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _bodyIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _nameIwarnings ++ _bodyIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( if not (lint_shadowing _lhsIconfig)- then id- else (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_AFunc_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )- )-sem_Stat_ALocFunc- :: T_FuncName- -> ([MToken])- -> T_Block- -> T_Stat-sem_Stat_ALocFunc name_ args_ body_ =- ( case (body_) of- (_bodyIcopy, body_1) ->- ( case (name_) of- (_nameIcopy, _nameIisMeta, name_1) ->- ( case ( ( ALocFunc _nameIcopy args_ _bodyIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_Stat_ALocFunc_1 :: T_Stat_1- sem_Stat_ALocFunc_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIisInModule- )- ) of- _nameOisInModule ->- ( case ( ( _lhsIvariableStyle- )- ) of- _nameOvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _nameOscopes ->- ( case ( ( _lhsIscopeLevel- )- ) of- _nameOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _nameOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _nameOloopLevel ->- ( case ( ( findSelf args_ || _lhsIisMeta- )- ) of- _isMeta ->- ( case ( ( _isMeta- )- ) of- _nameOisMeta ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _nameOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _nameOfuncName ->- ( case ( ( _lhsIconfig- )- ) of- _nameOconfig ->- ( case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOloopLevel _nameOmtokenPos _nameOscopeLevel _nameOscopes _nameOvariableStyle) of- (_nameIglobalDefinitions, _nameIhasSuffixes, _nameIidentifier, _nameIisInModule, _nameImtokenPos, _nameIscopes, _nameIvariableStyle, _nameIwarnings) ->- ( case ( ( _nameIisInModule- )- ) of- _bodyOisInModule ->- ( case ( ( _nameIglobalDefinitions- )- ) of- _bodyOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _bodyOconfig ->- ( case ( ( _isMeta- )- ) of- _bodyOisMeta ->- ( case ( ( M.insert _nameIidentifier (False, _nameImtokenPos) (head _nameIscopes) : tail _nameIscopes- )- ) of- _passedScopes ->- ( case ( ( filter (/= MToken emptyRg VarArg) $ args_- )- ) of- _argIdentifiers ->- ( case ( ( (if _isMeta then M.insert "self" (True, _nameImtokenPos) else id) $- M.fromList . map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) $- _argIdentifiers- )- ) of- _introduces ->- ( case ( ( _introduces : _passedScopes- )- ) of- _bodyOscopes ->- ( case ( ( _nameIvariableStyle- )- ) of- _bodyOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _bodyOscopeLevel ->- ( case ( ( _nameImtokenPos- )- ) of- _bodyOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _bodyOloopLevel ->- ( case ( ( _nameIidentifier- )- ) of- _bodyOfuncName ->- ( case ( ( False- )- ) of- _bodyOisRepeat ->- ( case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of- (_bodyIglobalDefinitions, _bodyIidentifier, _bodyIisIfStatement, _bodyIisInModule, _bodyImtokenPos, _bodyIscopes, _bodyIstatementCount, _bodyIvariableStyle, _bodyIwarnings) ->- ( case ( ( _bodyIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _nameIidentifier _bodyIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( False- )- ) of- _lhsOisIfStatement ->- ( case ( ( _bodyIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _bodyImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _bodyIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _bodyIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _nameIwarnings ++ _bodyIwarnings- )- ) of- _warnings_augmented_syn ->- ( case ( ( MToken _nameImtokenPos (Identifier _nameIidentifier)- )- ) of- _funcname ->- ( case ( ( checkShadows _lhsIscopes _funcname- )- ) of- _funcNameShadows ->- ( case ( ( if not (lint_shadowing _lhsIconfig)- then id- else (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers- )- ) of- _warnings_augmented_f2 ->- ( case ( ( if not (lint_shadowing _lhsIconfig) || isNothing _funcNameShadows- then id- else (:) . fromMaybe (error "fromMaybe ALocFunc +warnings") $ _funcNameShadows- )- ) of- _warnings_augmented_f1 ->- ( case ( ( foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisIfStatement, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_Stat_ALocFunc_1- )- ) of- (sem_Stat_1) ->- (_lhsOcopy, sem_Stat_1)- )- )- )- )- )---- Token ---------------------------------------------------------- cata-sem_Token- :: Token- -> T_Token-sem_Token (Whitespace _space) =- (sem_Token_Whitespace _space)-sem_Token (DashComment _comment) =- (sem_Token_DashComment _comment)-sem_Token (DashBlockComment _depth _comment) =- (sem_Token_DashBlockComment _depth _comment)-sem_Token (SlashComment _comment) =- (sem_Token_SlashComment _comment)-sem_Token (SlashBlockComment _comment) =- (sem_Token_SlashBlockComment _comment)-sem_Token (Semicolon) =- (sem_Token_Semicolon)-sem_Token (TNumber _num) =- (sem_Token_TNumber _num)-sem_Token (DQString _str) =- (sem_Token_DQString _str)-sem_Token (SQString _str) =- (sem_Token_SQString _str)-sem_Token (MLString _str) =- (sem_Token_MLString _str)-sem_Token (TTrue) =- (sem_Token_TTrue)-sem_Token (TFalse) =- (sem_Token_TFalse)-sem_Token (Nil) =- (sem_Token_Nil)-sem_Token (VarArg) =- (sem_Token_VarArg)-sem_Token (Plus) =- (sem_Token_Plus)-sem_Token (Minus) =- (sem_Token_Minus)-sem_Token (Multiply) =- (sem_Token_Multiply)-sem_Token (Divide) =- (sem_Token_Divide)-sem_Token (Modulus) =- (sem_Token_Modulus)-sem_Token (Power) =- (sem_Token_Power)-sem_Token (TEq) =- (sem_Token_TEq)-sem_Token (TNEq) =- (sem_Token_TNEq)-sem_Token (TCNEq) =- (sem_Token_TCNEq)-sem_Token (TLEQ) =- (sem_Token_TLEQ)-sem_Token (TGEQ) =- (sem_Token_TGEQ)-sem_Token (TLT) =- (sem_Token_TLT)-sem_Token (TGT) =- (sem_Token_TGT)-sem_Token (Equals) =- (sem_Token_Equals)-sem_Token (Concatenate) =- (sem_Token_Concatenate)-sem_Token (Colon) =- (sem_Token_Colon)-sem_Token (Dot) =- (sem_Token_Dot)-sem_Token (Comma) =- (sem_Token_Comma)-sem_Token (Hash) =- (sem_Token_Hash)-sem_Token (Not) =- (sem_Token_Not)-sem_Token (CNot) =- (sem_Token_CNot)-sem_Token (And) =- (sem_Token_And)-sem_Token (CAnd) =- (sem_Token_CAnd)-sem_Token (Or) =- (sem_Token_Or)-sem_Token (COr) =- (sem_Token_COr)-sem_Token (Function) =- (sem_Token_Function)-sem_Token (Local) =- (sem_Token_Local)-sem_Token (If) =- (sem_Token_If)-sem_Token (Then) =- (sem_Token_Then)-sem_Token (Elseif) =- (sem_Token_Elseif)-sem_Token (Else) =- (sem_Token_Else)-sem_Token (For) =- (sem_Token_For)-sem_Token (In) =- (sem_Token_In)-sem_Token (Do) =- (sem_Token_Do)-sem_Token (While) =- (sem_Token_While)-sem_Token (Until) =- (sem_Token_Until)-sem_Token (Repeat) =- (sem_Token_Repeat)-sem_Token (Continue) =- (sem_Token_Continue)-sem_Token (Break) =- (sem_Token_Break)-sem_Token (Return) =- (sem_Token_Return)-sem_Token (End) =- (sem_Token_End)-sem_Token (LRound) =- (sem_Token_LRound)-sem_Token (RRound) =- (sem_Token_RRound)-sem_Token (LCurly) =- (sem_Token_LCurly)-sem_Token (RCurly) =- (sem_Token_RCurly)-sem_Token (LSquare) =- (sem_Token_LSquare)-sem_Token (RSquare) =- (sem_Token_RSquare)-sem_Token (Label _whitespaceBefore _lbl _whitespaceAfter) =- (sem_Token_Label _whitespaceBefore _lbl _whitespaceAfter)-sem_Token (Identifier _ident) =- (sem_Token_Identifier _ident)---- semantic domain-type T_Token = (Token, String, ([String -> LintMessage]))-data Inh_Token = Inh_Token {}-data Syn_Token = Syn_Token {copy_Syn_Token :: Token, identifier_Syn_Token :: String, warnings_Syn_Token :: ([String -> LintMessage])}-wrap_Token- :: T_Token- -> Inh_Token- -> Syn_Token-wrap_Token sem (Inh_Token) =- ( let- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings) = sem- in- (Syn_Token _lhsOcopy _lhsOidentifier _lhsOwarnings)- )-sem_Token_Whitespace- :: String- -> T_Token-sem_Token_Whitespace space_ =- ( case ( ( Whitespace space_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_DashComment- :: String- -> T_Token-sem_Token_DashComment comment_ =- ( case ( ( DashComment comment_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_DashBlockComment- :: Int- -> String- -> T_Token-sem_Token_DashBlockComment depth_ comment_ =- ( case ( ( DashBlockComment depth_ comment_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_SlashComment- :: String- -> T_Token-sem_Token_SlashComment comment_ =- ( case ( ( SlashComment comment_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_SlashBlockComment- :: String- -> T_Token-sem_Token_SlashBlockComment comment_ =- ( case ( ( SlashBlockComment comment_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Semicolon :: T_Token-sem_Token_Semicolon =- ( case ( ( Semicolon- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_TNumber- :: String- -> T_Token-sem_Token_TNumber num_ =- ( case ( ( TNumber num_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_DQString- :: String- -> T_Token-sem_Token_DQString str_ =- ( case ( ( DQString str_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_SQString- :: String- -> T_Token-sem_Token_SQString str_ =- ( case ( ( SQString str_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_MLString- :: String- -> T_Token-sem_Token_MLString str_ =- ( case ( ( MLString str_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_TTrue :: T_Token-sem_Token_TTrue =- ( case ( ( TTrue- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_TFalse :: T_Token-sem_Token_TFalse =- ( case ( ( TFalse- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Nil :: T_Token-sem_Token_Nil =- ( case ( ( Nil- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_VarArg :: T_Token-sem_Token_VarArg =- ( case ( ( VarArg- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Plus :: T_Token-sem_Token_Plus =- ( case ( ( Plus- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Minus :: T_Token-sem_Token_Minus =- ( case ( ( Minus- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Multiply :: T_Token-sem_Token_Multiply =- ( case ( ( Multiply- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Divide :: T_Token-sem_Token_Divide =- ( case ( ( Divide- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Modulus :: T_Token-sem_Token_Modulus =- ( case ( ( Modulus- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Power :: T_Token-sem_Token_Power =- ( case ( ( Power- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_TEq :: T_Token-sem_Token_TEq =- ( case ( ( TEq- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_TNEq :: T_Token-sem_Token_TNEq =- ( case ( ( TNEq- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_TCNEq :: T_Token-sem_Token_TCNEq =- ( case ( ( TCNEq- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_TLEQ :: T_Token-sem_Token_TLEQ =- ( case ( ( TLEQ- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_TGEQ :: T_Token-sem_Token_TGEQ =- ( case ( ( TGEQ- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_TLT :: T_Token-sem_Token_TLT =- ( case ( ( TLT- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_TGT :: T_Token-sem_Token_TGT =- ( case ( ( TGT- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Equals :: T_Token-sem_Token_Equals =- ( case ( ( Equals- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Concatenate :: T_Token-sem_Token_Concatenate =- ( case ( ( Concatenate- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Colon :: T_Token-sem_Token_Colon =- ( case ( ( Colon- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Dot :: T_Token-sem_Token_Dot =- ( case ( ( Dot- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Comma :: T_Token-sem_Token_Comma =- ( case ( ( Comma- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Hash :: T_Token-sem_Token_Hash =- ( case ( ( Hash- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Not :: T_Token-sem_Token_Not =- ( case ( ( Not- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_CNot :: T_Token-sem_Token_CNot =- ( case ( ( CNot- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_And :: T_Token-sem_Token_And =- ( case ( ( And- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_CAnd :: T_Token-sem_Token_CAnd =- ( case ( ( CAnd- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Or :: T_Token-sem_Token_Or =- ( case ( ( Or- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_COr :: T_Token-sem_Token_COr =- ( case ( ( COr- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Function :: T_Token-sem_Token_Function =- ( case ( ( Function- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Local :: T_Token-sem_Token_Local =- ( case ( ( Local- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_If :: T_Token-sem_Token_If =- ( case ( ( If- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Then :: T_Token-sem_Token_Then =- ( case ( ( Then- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Elseif :: T_Token-sem_Token_Elseif =- ( case ( ( Elseif- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Else :: T_Token-sem_Token_Else =- ( case ( ( Else- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_For :: T_Token-sem_Token_For =- ( case ( ( For- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_In :: T_Token-sem_Token_In =- ( case ( ( In- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Do :: T_Token-sem_Token_Do =- ( case ( ( Do- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_While :: T_Token-sem_Token_While =- ( case ( ( While- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Until :: T_Token-sem_Token_Until =- ( case ( ( Until- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Repeat :: T_Token-sem_Token_Repeat =- ( case ( ( Repeat- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Continue :: T_Token-sem_Token_Continue =- ( case ( ( Continue- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Break :: T_Token-sem_Token_Break =- ( case ( ( Break- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Return :: T_Token-sem_Token_Return =- ( case ( ( Return- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_End :: T_Token-sem_Token_End =- ( case ( ( End- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_LRound :: T_Token-sem_Token_LRound =- ( case ( ( LRound- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_RRound :: T_Token-sem_Token_RRound =- ( case ( ( RRound- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_LCurly :: T_Token-sem_Token_LCurly =- ( case ( ( LCurly- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_RCurly :: T_Token-sem_Token_RCurly =- ( case ( ( RCurly- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_LSquare :: T_Token-sem_Token_LSquare =- ( case ( ( LSquare- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_RSquare :: T_Token-sem_Token_RSquare =- ( case ( ( RSquare- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Label- :: String- -> String- -> String- -> T_Token-sem_Token_Label whitespaceBefore_ lbl_ whitespaceAfter_ =- ( case ( ( Label whitespaceBefore_ lbl_ whitespaceAfter_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( lbl_- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )-sem_Token_Identifier- :: String- -> T_Token-sem_Token_Identifier ident_ =- ( case ( ( Identifier ident_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( ident_- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )---- TokenList ------------------------------------------------------ cata-sem_TokenList- :: TokenList- -> T_TokenList-sem_TokenList list =- (Prelude.foldr sem_TokenList_Cons sem_TokenList_Nil (Prelude.map sem_Token list))---- semantic domain-type T_TokenList = (TokenList, String, ([String -> LintMessage]))-data Inh_TokenList = Inh_TokenList {}-data Syn_TokenList = Syn_TokenList {copy_Syn_TokenList :: TokenList, identifier_Syn_TokenList :: String, warnings_Syn_TokenList :: ([String -> LintMessage])}-wrap_TokenList- :: T_TokenList- -> Inh_TokenList- -> Syn_TokenList-wrap_TokenList sem (Inh_TokenList) =- ( let- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings) = sem- in- (Syn_TokenList _lhsOcopy _lhsOidentifier _lhsOwarnings)- )-sem_TokenList_Cons- :: T_Token- -> T_TokenList- -> T_TokenList-sem_TokenList_Cons hd_ tl_ =- ( case (tl_) of- (_tlIcopy, _tlIidentifier, _tlIwarnings) ->- ( case (hd_) of- (_hdIcopy, _hdIidentifier, _hdIwarnings) ->- ( case ( ( (:) _hdIcopy _tlIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( (const _hdIidentifier _tlIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _hdIwarnings ++ _tlIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )- )- )-sem_TokenList_Nil :: T_TokenList-sem_TokenList_Nil =- ( case ( ( []- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOcopy, _lhsOidentifier, _lhsOwarnings)- )- )- )- )---- UnOp ----------------------------------------------------------- cata-sem_UnOp- :: UnOp- -> T_UnOp-sem_UnOp (UnMinus) =- (sem_UnOp_UnMinus)-sem_UnOp (ANot) =- (sem_UnOp_ANot)-sem_UnOp (AHash) =- (sem_UnOp_AHash)---- semantic domain-type T_UnOp = (UnOp, T_UnOp_1)-type T_UnOp_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_UnOp = Inh_UnOp {config_Inh_UnOp :: LintSettings, funcName_Inh_UnOp :: String, globalDefinitions_Inh_UnOp :: (M.Map String [Region]), isInModule_Inh_UnOp :: Bool, isMeta_Inh_UnOp :: Bool, loopLevel_Inh_UnOp :: Int, mtokenPos_Inh_UnOp :: Region, scopeLevel_Inh_UnOp :: Int, scopes_Inh_UnOp :: ([M.Map String (Bool, Region)]), variableStyle_Inh_UnOp :: DeterminedVariableStyle}-data Syn_UnOp = Syn_UnOp {copy_Syn_UnOp :: UnOp, globalDefinitions_Syn_UnOp :: (M.Map String [Region]), identifier_Syn_UnOp :: String, isInModule_Syn_UnOp :: Bool, isNegation_Syn_UnOp :: Bool, mtokenPos_Syn_UnOp :: Region, scopes_Syn_UnOp :: ([M.Map String (Bool, Region)]), variableStyle_Syn_UnOp :: DeterminedVariableStyle, warnings_Syn_UnOp :: ([String -> LintMessage])}-wrap_UnOp- :: T_UnOp- -> Inh_UnOp- -> Syn_UnOp-wrap_UnOp sem (Inh_UnOp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisNegation, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_UnOp _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisNegation _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_UnOp_UnMinus :: T_UnOp-sem_UnOp_UnMinus =- ( case ( ( UnMinus- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_UnOp_UnMinus_1 :: T_UnOp_1- sem_UnOp_UnMinus_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( False- )- ) of- _lhsOisNegation ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisNegation, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_UnOp_UnMinus_1- )- ) of- (sem_UnOp_1) ->- (_lhsOcopy, sem_UnOp_1)- )- )- )-sem_UnOp_ANot :: T_UnOp-sem_UnOp_ANot =- ( case ( ( ANot- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_UnOp_ANot_1 :: T_UnOp_1- sem_UnOp_ANot_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( True- )- ) of- _lhsOisNegation ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisNegation, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_UnOp_ANot_1- )- ) of- (sem_UnOp_1) ->- (_lhsOcopy, sem_UnOp_1)- )- )- )-sem_UnOp_AHash :: T_UnOp-sem_UnOp_AHash =- ( case ( ( AHash- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_UnOp_AHash_1 :: T_UnOp_1- sem_UnOp_AHash_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( False- )- ) of- _lhsOisNegation ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOisNegation, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- in- sem_UnOp_AHash_1- )- ) of- (sem_UnOp_1) ->- (_lhsOcopy, sem_UnOp_1)- )- )- )---- VarsList ------------------------------------------------------- cata-sem_VarsList- :: VarsList- -> T_VarsList-sem_VarsList list =- (Prelude.foldr sem_VarsList_Cons sem_VarsList_Nil (Prelude.map sem_Declaration list))---- semantic domain-type T_VarsList = (VarsList, T_VarsList_1)-type T_VarsList_1 =- LintSettings- -> String- -> (M.Map String [Region])- -> Bool- -> Bool- -> Bool- -> Int- -> Region- -> Int- -> ([M.Map String (Bool, Region)])- -> DeterminedVariableStyle- -> ((M.Map String [Region]), String, Bool, Region, ([M.Map String (Bool, Region)]), DeterminedVariableStyle, ([String -> LintMessage]))-data Inh_VarsList = Inh_VarsList {config_Inh_VarsList :: LintSettings, funcName_Inh_VarsList :: String, globalDefinitions_Inh_VarsList :: (M.Map String [Region]), isInModule_Inh_VarsList :: Bool, isMeta_Inh_VarsList :: Bool, localDefinition_Inh_VarsList :: Bool, loopLevel_Inh_VarsList :: Int, mtokenPos_Inh_VarsList :: Region, scopeLevel_Inh_VarsList :: Int, scopes_Inh_VarsList :: ([M.Map String (Bool, Region)]), variableStyle_Inh_VarsList :: DeterminedVariableStyle}-data Syn_VarsList = Syn_VarsList {copy_Syn_VarsList :: VarsList, globalDefinitions_Syn_VarsList :: (M.Map String [Region]), identifier_Syn_VarsList :: String, isInModule_Syn_VarsList :: Bool, mtokenPos_Syn_VarsList :: Region, scopes_Syn_VarsList :: ([M.Map String (Bool, Region)]), variableStyle_Syn_VarsList :: DeterminedVariableStyle, warnings_Syn_VarsList :: ([String -> LintMessage])}-wrap_VarsList- :: T_VarsList- -> Inh_VarsList- -> Syn_VarsList-wrap_VarsList sem (Inh_VarsList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =- ( let- (_lhsOcopy, sem_1) = sem- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle- in- (Syn_VarsList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings)- )-sem_VarsList_Cons- :: T_Declaration- -> T_VarsList- -> T_VarsList-sem_VarsList_Cons hd_ tl_ =- ( case (tl_) of- (_tlIcopy, tl_1) ->- ( case (hd_) of- (_hdIcopy, hd_1) ->- ( case ( ( (:) _hdIcopy _tlIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_VarsList_Cons_1 :: T_VarsList_1- sem_VarsList_Cons_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIlocalDefinition- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIscopes- )- ) of- _hdOscopes ->- ( case ( ( _lhsIlocalDefinition- )- ) of- _hdOlocalDefinition ->- ( case ( ( _lhsIisMeta- )- ) of- _hdOisMeta ->- ( case ( ( _lhsIconfig- )- ) of- _hdOconfig ->- ( case ( ( _lhsIvariableStyle- )- ) of- _hdOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _hdOscopeLevel ->- ( case ( ( _lhsImtokenPos- )- ) of- _hdOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _hdOloopLevel ->- ( case ( ( _lhsIisInModule- )- ) of- _hdOisInModule ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _hdOglobalDefinitions ->- ( case ( ( _lhsIfuncName- )- ) of- _hdOfuncName ->- ( case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOlocalDefinition _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of- (_hdIglobalDefinitions, _hdIidentifier, _hdIisInModule, _hdImtokenPos, _hdIscopes, _hdIvariableStyle, _hdIwarnings) ->- ( case ( ( _hdIscopes- )- ) of- _tlOscopes ->- ( case ( ( _lhsIlocalDefinition- )- ) of- _tlOlocalDefinition ->- ( case ( ( _lhsIisMeta- )- ) of- _tlOisMeta ->- ( case ( ( _hdIisInModule- )- ) of- _tlOisInModule ->- ( case ( ( _hdIglobalDefinitions- )- ) of- _tlOglobalDefinitions ->- ( case ( ( _lhsIconfig- )- ) of- _tlOconfig ->- ( case ( ( _hdIvariableStyle- )- ) of- _tlOvariableStyle ->- ( case ( ( _lhsIscopeLevel- )- ) of- _tlOscopeLevel ->- ( case ( ( _hdImtokenPos- )- ) of- _tlOmtokenPos ->- ( case ( ( _lhsIloopLevel- )- ) of- _tlOloopLevel ->- ( case ( ( _lhsIfuncName- )- ) of- _tlOfuncName ->- ( case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOlocalDefinition _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of- (_tlIglobalDefinitions, _tlIidentifier, _tlIisInModule, _tlImtokenPos, _tlIscopes, _tlIvariableStyle, _tlIwarnings) ->- ( case ( ( _tlIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( (const _hdIidentifier _tlIidentifier)- )- ) of- _lhsOidentifier ->- ( case ( ( _tlIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _hdImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _tlIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _tlIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( _hdIwarnings ++ _tlIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- in- sem_VarsList_Cons_1- )- ) of- (sem_VarsList_1) ->- (_lhsOcopy, sem_VarsList_1)- )- )- )- )- )-sem_VarsList_Nil :: T_VarsList-sem_VarsList_Nil =- ( case ( ( []- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( let- sem_VarsList_Nil_1 :: T_VarsList_1- sem_VarsList_Nil_1 =- ( \_lhsIconfig- _lhsIfuncName- _lhsIglobalDefinitions- _lhsIisInModule- _lhsIisMeta- _lhsIlocalDefinition- _lhsIloopLevel- _lhsImtokenPos- _lhsIscopeLevel- _lhsIscopes- _lhsIvariableStyle ->- ( case ( ( _lhsIglobalDefinitions- )- ) of- _lhsOglobalDefinitions ->- ( case ( ( unknownIdentifier- )- ) of- _lhsOidentifier ->- ( case ( ( _lhsIisInModule- )- ) of- _lhsOisInModule ->- ( case ( ( _lhsImtokenPos- )- ) of- _lhsOmtokenPos ->- ( case ( ( _lhsIscopes- )- ) of- _lhsOscopes ->- ( case ( ( _lhsIvariableStyle- )- ) of- _lhsOvariableStyle ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOglobalDefinitions, _lhsOidentifier, _lhsOisInModule, _lhsOmtokenPos, _lhsOscopes, _lhsOvariableStyle, _lhsOwarnings)- )- )- )- )- )- )- )- )- in- sem_VarsList_Nil_1- )- ) of- (sem_VarsList_1) ->- (_lhsOcopy, sem_VarsList_1)- )- )- )+++{-# LANGUAGE DeriveGeneric #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# LANGUAGE DeriveGeneric #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# LANGUAGE LambdaCase #-}+-- UUAGC 0.9.53.1 (src/GLuaFixer/AG/ASTLint.ag)+module GLuaFixer.AG.ASTLint where++{-# LINE 9 "src/GLuaFixer/AG/../../GLua/AG/Token.ag" #-}++import GHC.Generics+import GLua.Position+{-# LINE 19 "src/GLuaFixer/AG/ASTLint.hs" #-}++{-# LINE 10 "src/GLuaFixer/AG/../../GLua/AG/AST.ag" #-}++import GLua.AG.Token+import GLua.Position+import GLua.TokenTypes ()+import GHC.Generics+import Data.Aeson+{-# LINE 28 "src/GLuaFixer/AG/ASTLint.hs" #-}++{-# LINE 10 "src/GLuaFixer/AG/ASTLint.ag" #-}++import GLua.AG.AST+import qualified GLua.AG.PrettyPrint as PP+import qualified GLua.AG.Token as T+import GLua.TokenTypes+import qualified Data.Set as S+import qualified Data.Map.Strict as M+import Data.Char (isLower, isUpper)+import Data.Maybe+import GLua.Position (LineColPos(..), Region(..))+import GLuaFixer.LintMessage+import GLuaFixer.LintSettings+{-# LINE 43 "src/GLuaFixer/AG/ASTLint.hs" #-}+{-# LINE 29 "src/GLuaFixer/AG/ASTLint.ag" #-}++warn :: Region -> Issue -> FilePath -> LintMessage+warn pos issue = LintMessage LintWarning pos issue++-- Used in detecting "not (a == b)" kind of things+oppositeBinOp :: BinOp -> Maybe String+oppositeBinOp ALT = Just ">="+oppositeBinOp AGT = Just "<="+oppositeBinOp ALEQ = Just ">"+oppositeBinOp AGEQ = Just "<"+oppositeBinOp ANEq = Just "=="+oppositeBinOp AEq = Just "~="+oppositeBinOp _ = Nothing++-- Checks whether a variable shadows existing variables+checkShadows :: [M.Map String (Bool, Region)] -> MToken -> Maybe (FilePath -> LintMessage)+checkShadows [] _ = Nothing+checkShadows _ (MToken _ (Identifier "_")) = Nothing -- Exception for vars named '_'+checkShadows (scope : scs) mtok' =+ if M.member lbl scope then+ Just $ warn (mpos mtok') $ VariableShadows lbl location+ else+ checkShadows scs mtok'+ where+ lbl = tokenLabel mtok'+ location = snd $ fromMaybe (error "checkShadows fromMaybe") $ M.lookup lbl scope++-- Determines whether a variable is local+-- It is local if it does not exist in any but the topmost (global) scope+-- it may or may not exist in the topmost scope.+isVariableLocal :: [M.Map String (Bool, Region)] -> String -> Bool+isVariableLocal [] _ = False+isVariableLocal [_] _ = False+isVariableLocal (scope : scs) var =+ case M.lookup var scope of+ Just _ -> True+ Nothing -> isVariableLocal scs var+++-- Registers a variable as global variable when it hasn't been+-- introduced in any of the visible scopes+registerVariable :: [M.Map String (Bool, Region)] -> Region -> String -> Bool -> [M.Map String (Bool, Region)]+registerVariable [] _ _ _ = error "cannot register top level variable"+registerVariable (scope : []) pos var used =+ [ case M.lookup var scope of+ Just (used', pos') -> M.insert var (used || used', pos') scope+ Nothing -> M.insert var (used, pos) scope+ ] -- global scope+registerVariable (scope : scs) pos var used = case M.lookup var scope of+ Just (True, _) -> scope : scs+ Just (False, pos') -> M.insert var (used, pos') scope : scs+ Nothing -> scope : registerVariable scs pos var used++findSelf :: [MToken] -> Bool+findSelf ((MToken _ (Identifier "self")) : _) = True+findSelf _ = False++data VariableStyle+ = StartsLowerCase+ | StartsUpperCase+ | VariableStyleNeither+ deriving (Eq)++data DeterminedVariableStyle+ = VarStyleNotDetermined+ | VarStyleDetermined !VariableStyle++combineDeterminedVarStyle :: DeterminedVariableStyle -> VariableStyle -> DeterminedVariableStyle+combineDeterminedVarStyle old new = case old of+ VarStyleNotDetermined -> VarStyleDetermined new+ VarStyleDetermined VariableStyleNeither -> VarStyleDetermined new+ _ -> old++determineVariableStyle :: String -> VariableStyle+determineVariableStyle = \case+ [] -> VariableStyleNeither+ (c : _)+ | isLower c -> StartsLowerCase+ | isUpper c -> StartsUpperCase+ | otherwise -> VariableStyleNeither++variableStyleInconsistent :: DeterminedVariableStyle -> VariableStyle -> Bool+variableStyleInconsistent determinedStyle varStyle = case determinedStyle of+ VarStyleNotDetermined -> False+ VarStyleDetermined VariableStyleNeither -> False+ VarStyleDetermined existing -> case varStyle of+ VariableStyleNeither -> False+ _ -> existing /= varStyle++unknownIdentifier :: String+unknownIdentifier = "Unknown identifier"++{-# LINE 137 "src/GLuaFixer/AG/ASTLint.hs" #-}++{-# LINE 660 "src/GLuaFixer/AG/ASTLint.ag" #-}++inh_AST :: LintSettings -> Inh_AST+inh_AST conf = Inh_AST {+ config_Inh_AST = conf,+ isMeta_Inh_AST = False,+ loopLevel_Inh_AST = 0,+ globalDefinitions_Inh_AST = M.empty,+ mtokenPos_Inh_AST = emptyRg,+ scopeLevel_Inh_AST = 0,+ scopes_Inh_AST = [M.empty],+ funcName_Inh_AST = "",+ isInModule_Inh_AST = False,+ variableStyle_Inh_AST = VarStyleNotDetermined+ }++allAttributes :: LintSettings -> AST -> Syn_AST+allAttributes conf p = wrap_AST (sem_AST p) (inh_AST conf)++astWarnings :: LintSettings -> AST -> [String -> LintMessage]+astWarnings conf p = warnings_Syn_AST $ allAttributes conf p++globalDefinitions :: LintSettings -> AST -> M.Map String [Region]+globalDefinitions conf p = globalDefinitions_Syn_AST $ allAttributes conf p+{-# LINE 163 "src/GLuaFixer/AG/ASTLint.hs" #-}+-- AReturn -----------------------------------------------------+-- cata+sem_AReturn :: AReturn ->+ T_AReturn+sem_AReturn (AReturn _pos _values) =+ (sem_AReturn_AReturn _pos (sem_MExprList _values))+sem_AReturn (NoReturn) =+ (sem_AReturn_NoReturn)+-- semantic domain+type T_AReturn = ( AReturn,T_AReturn_1)+type T_AReturn_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),Int,DeterminedVariableStyle,([String -> LintMessage]))+data Inh_AReturn = Inh_AReturn {config_Inh_AReturn :: LintSettings,funcName_Inh_AReturn :: String,globalDefinitions_Inh_AReturn :: (M.Map String [Region]),isInModule_Inh_AReturn :: Bool,isMeta_Inh_AReturn :: Bool,loopLevel_Inh_AReturn :: Int,mtokenPos_Inh_AReturn :: Region,scopeLevel_Inh_AReturn :: Int,scopes_Inh_AReturn :: ([M.Map String (Bool, Region)]),variableStyle_Inh_AReturn :: DeterminedVariableStyle}+data Syn_AReturn = Syn_AReturn {copy_Syn_AReturn :: AReturn,globalDefinitions_Syn_AReturn :: (M.Map String [Region]),identifier_Syn_AReturn :: String,isInModule_Syn_AReturn :: Bool,mtokenPos_Syn_AReturn :: Region,scopes_Syn_AReturn :: ([M.Map String (Bool, Region)]),statementCount_Syn_AReturn :: Int,variableStyle_Syn_AReturn :: DeterminedVariableStyle,warnings_Syn_AReturn :: ([String -> LintMessage])}+wrap_AReturn :: T_AReturn ->+ Inh_AReturn ->+ Syn_AReturn+wrap_AReturn sem (Inh_AReturn _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_AReturn _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings))+sem_AReturn_AReturn :: Region ->+ T_MExprList ->+ T_AReturn+sem_AReturn_AReturn pos_ values_ =+ (case (values_) of+ { ( _valuesIcopy,values_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AReturn pos_ _valuesIcopy+ {-# LINE 202 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 207 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_AReturn_AReturn_1 :: T_AReturn_1+ sem_AReturn_AReturn_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 224 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 229 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 234 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 239 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 244 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 249 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 254 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 259 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 264 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 269 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOfuncName ->+ (case (({-# LINE 505 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 274 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOtopLevel ->+ (case (({-# LINE 504 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 279 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valuesOinParentheses ->+ (case (values_1 _valuesOconfig _valuesOfuncName _valuesOglobalDefinitions _valuesOinParentheses _valuesOisInModule _valuesOisMeta _valuesOloopLevel _valuesOmtokenPos _valuesOscopeLevel _valuesOscopes _valuesOtopLevel _valuesOvariableStyle) of+ { ( _valuesIglobalDefinitions,_valuesIidentifier,_valuesIisInModule,_valuesImtokenPos,_valuesIscopes,_valuesIvariableStyle,_valuesIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valuesIglobalDefinitions+ {-# LINE 286 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valuesIidentifier+ {-# LINE 291 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valuesIisInModule+ {-# LINE 296 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 506 "src/GLuaFixer/AG/ASTLint.ag" #-}+ pos_+ {-# LINE 301 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valuesIscopes+ {-# LINE 306 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 158 "src/GLuaFixer/AG/ASTLint.ag" #-}+ 1+ {-# LINE 311 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOstatementCount ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valuesIvariableStyle+ {-# LINE 316 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valuesIwarnings+ {-# LINE 321 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_AReturn_AReturn_1)) of+ { ( sem_AReturn_1) ->+ ( _lhsOcopy,sem_AReturn_1) }) }) }) })+sem_AReturn_NoReturn :: T_AReturn+sem_AReturn_NoReturn =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ NoReturn+ {-# LINE 332 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 337 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_AReturn_NoReturn_1 :: T_AReturn_1+ sem_AReturn_NoReturn_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 354 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 359 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 364 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 369 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 374 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 508 "src/GLuaFixer/AG/ASTLint.ag" #-}+ 0+ {-# LINE 379 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOstatementCount ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 384 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 389 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_AReturn_NoReturn_1)) of+ { ( sem_AReturn_1) ->+ ( _lhsOcopy,sem_AReturn_1) }) }) })+-- AST ---------------------------------------------------------+-- cata+sem_AST :: AST ->+ T_AST+sem_AST (AST _comments _chunk) =+ (sem_AST_AST _comments (sem_Block _chunk))+-- semantic domain+type T_AST = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( AST,(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_AST = Inh_AST {config_Inh_AST :: LintSettings,funcName_Inh_AST :: String,globalDefinitions_Inh_AST :: (M.Map String [Region]),isInModule_Inh_AST :: Bool,isMeta_Inh_AST :: Bool,loopLevel_Inh_AST :: Int,mtokenPos_Inh_AST :: Region,scopeLevel_Inh_AST :: Int,scopes_Inh_AST :: ([M.Map String (Bool, Region)]),variableStyle_Inh_AST :: DeterminedVariableStyle}+data Syn_AST = Syn_AST {copy_Syn_AST :: AST,globalDefinitions_Syn_AST :: (M.Map String [Region]),identifier_Syn_AST :: String,isInModule_Syn_AST :: Bool,mtokenPos_Syn_AST :: Region,scopes_Syn_AST :: ([M.Map String (Bool, Region)]),variableStyle_Syn_AST :: DeterminedVariableStyle,warnings_Syn_AST :: ([String -> LintMessage])}+wrap_AST :: T_AST ->+ Inh_AST ->+ Syn_AST+wrap_AST sem (Inh_AST _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_AST _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_AST_AST :: ([MToken]) ->+ T_Block ->+ T_AST+sem_AST_AST comments_ chunk_ =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (chunk_) of+ { ( _chunkIcopy,chunk_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AST comments_ _chunkIcopy+ {-# LINE 440 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 445 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 450 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 455 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 460 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 465 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOconfig ->+ (case (({-# LINE 293 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.empty : _lhsIscopes+ {-# LINE 470 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 475 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 480 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 485 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 490 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 495 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOfuncName ->+ (case (({-# LINE 294 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 500 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _chunkOisRepeat ->+ (case (chunk_1 _chunkOconfig _chunkOfuncName _chunkOglobalDefinitions _chunkOisInModule _chunkOisMeta _chunkOisRepeat _chunkOloopLevel _chunkOmtokenPos _chunkOscopeLevel _chunkOscopes _chunkOvariableStyle) of+ { ( _chunkIglobalDefinitions,_chunkIidentifier,_chunkIisIfStatement,_chunkIisInModule,_chunkImtokenPos,_chunkIscopes,_chunkIstatementCount,_chunkIvariableStyle,_chunkIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _chunkIglobalDefinitions+ {-# LINE 507 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _chunkIidentifier+ {-# LINE 512 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _chunkIisInModule+ {-# LINE 517 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _chunkImtokenPos+ {-# LINE 522 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _chunkIscopes+ {-# LINE 527 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _chunkIvariableStyle+ {-# LINE 532 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _chunkIwarnings+ {-# LINE 537 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+-- Args --------------------------------------------------------+-- cata+sem_Args :: Args ->+ T_Args+sem_Args (ListArgs _args) =+ (sem_Args_ListArgs (sem_MExprList _args))+sem_Args (TableArg _arg) =+ (sem_Args_TableArg (sem_FieldList _arg))+sem_Args (StringArg _arg) =+ (sem_Args_StringArg (sem_MToken _arg))+-- semantic domain+type T_Args = ( Args,T_Args_1)+type T_Args_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_Args = Inh_Args {config_Inh_Args :: LintSettings,funcName_Inh_Args :: String,globalDefinitions_Inh_Args :: (M.Map String [Region]),isInModule_Inh_Args :: Bool,isMeta_Inh_Args :: Bool,loopLevel_Inh_Args :: Int,mtokenPos_Inh_Args :: Region,scopeLevel_Inh_Args :: Int,scopes_Inh_Args :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Args :: DeterminedVariableStyle}+data Syn_Args = Syn_Args {copy_Syn_Args :: Args,globalDefinitions_Syn_Args :: (M.Map String [Region]),identifier_Syn_Args :: String,isInModule_Syn_Args :: Bool,mtokenPos_Syn_Args :: Region,scopes_Syn_Args :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Args :: DeterminedVariableStyle,warnings_Syn_Args :: ([String -> LintMessage])}+wrap_Args :: T_Args ->+ Inh_Args ->+ Syn_Args+wrap_Args sem (Inh_Args _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_Args _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_Args_ListArgs :: T_MExprList ->+ T_Args+sem_Args_ListArgs args_ =+ (case (args_) of+ { ( _argsIcopy,args_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ListArgs _argsIcopy+ {-# LINE 580 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 585 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Args_ListArgs_1 :: T_Args_1+ sem_Args_ListArgs_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 602 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 607 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 612 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 617 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 622 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 627 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 632 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 637 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 642 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 647 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOfuncName ->+ (case (({-# LINE 619 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 652 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOtopLevel ->+ (case (({-# LINE 618 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 657 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOinParentheses ->+ (case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOinParentheses _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOtopLevel _argsOvariableStyle) of+ { ( _argsIglobalDefinitions,_argsIidentifier,_argsIisInModule,_argsImtokenPos,_argsIscopes,_argsIvariableStyle,_argsIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIglobalDefinitions+ {-# LINE 664 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIidentifier+ {-# LINE 669 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIisInModule+ {-# LINE 674 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsImtokenPos+ {-# LINE 679 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIscopes+ {-# LINE 684 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIvariableStyle+ {-# LINE 689 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIwarnings+ {-# LINE 694 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Args_ListArgs_1)) of+ { ( sem_Args_1) ->+ ( _lhsOcopy,sem_Args_1) }) }) }) })+sem_Args_TableArg :: T_FieldList ->+ T_Args+sem_Args_TableArg arg_ =+ (case (arg_) of+ { ( _argIcopy,arg_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TableArg _argIcopy+ {-# LINE 708 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 713 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Args_TableArg_1 :: T_Args_1+ sem_Args_TableArg_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 730 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 735 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 740 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 745 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 750 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 755 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 760 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 765 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 770 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 775 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOfuncName ->+ (case (({-# LINE 621 "src/GLuaFixer/AG/ASTLint.ag" #-}+ S.empty+ {-# LINE 780 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOfieldNames ->+ (case (arg_1 _argOconfig _argOfieldNames _argOfuncName _argOglobalDefinitions _argOisInModule _argOisMeta _argOloopLevel _argOmtokenPos _argOscopeLevel _argOscopes _argOvariableStyle) of+ { ( _argIfieldNames,_argIglobalDefinitions,_argIidentifier,_argIisInModule,_argImtokenPos,_argIscopes,_argIvariableStyle,_argIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIglobalDefinitions+ {-# LINE 787 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIidentifier+ {-# LINE 792 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIisInModule+ {-# LINE 797 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argImtokenPos+ {-# LINE 802 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIscopes+ {-# LINE 807 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIvariableStyle+ {-# LINE 812 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIwarnings+ {-# LINE 817 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Args_TableArg_1)) of+ { ( sem_Args_1) ->+ ( _lhsOcopy,sem_Args_1) }) }) }) })+sem_Args_StringArg :: T_MToken ->+ T_Args+sem_Args_StringArg arg_ =+ (case (arg_) of+ { ( _argIcopy,_argImtok,_argImtokenPos,arg_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ StringArg _argIcopy+ {-# LINE 831 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 836 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Args_StringArg_1 :: T_Args_1+ sem_Args_StringArg_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 853 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOglobalDefinitions ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 858 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOscopes ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 863 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 868 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 873 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOisInModule ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 878 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 883 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argOconfig ->+ (case (arg_1 _argOconfig _argOfuncName _argOglobalDefinitions _argOisInModule _argOisMeta _argOmtokenPos _argOscopes) of+ { ( _argIglobalDefinitions,_argIidentifier,_argIisInModule,_argIscopes,_argIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIglobalDefinitions+ {-# LINE 890 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIidentifier+ {-# LINE 895 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIisInModule+ {-# LINE 900 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argImtokenPos+ {-# LINE 905 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIscopes+ {-# LINE 910 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 915 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argIwarnings+ {-# LINE 920 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Args_StringArg_1)) of+ { ( sem_Args_1) ->+ ( _lhsOcopy,sem_Args_1) }) }) }) })+-- BinOp -------------------------------------------------------+-- cata+sem_BinOp :: BinOp ->+ T_BinOp+sem_BinOp (AOr) =+ (sem_BinOp_AOr)+sem_BinOp (AAnd) =+ (sem_BinOp_AAnd)+sem_BinOp (ALT) =+ (sem_BinOp_ALT)+sem_BinOp (AGT) =+ (sem_BinOp_AGT)+sem_BinOp (ALEQ) =+ (sem_BinOp_ALEQ)+sem_BinOp (AGEQ) =+ (sem_BinOp_AGEQ)+sem_BinOp (ANEq) =+ (sem_BinOp_ANEq)+sem_BinOp (AEq) =+ (sem_BinOp_AEq)+sem_BinOp (AConcatenate) =+ (sem_BinOp_AConcatenate)+sem_BinOp (APlus) =+ (sem_BinOp_APlus)+sem_BinOp (BinMinus) =+ (sem_BinOp_BinMinus)+sem_BinOp (AMultiply) =+ (sem_BinOp_AMultiply)+sem_BinOp (ADivide) =+ (sem_BinOp_ADivide)+sem_BinOp (AModulus) =+ (sem_BinOp_AModulus)+sem_BinOp (APower) =+ (sem_BinOp_APower)+-- semantic domain+type T_BinOp = ( BinOp,T_BinOp_1)+type T_BinOp_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_BinOp = Inh_BinOp {config_Inh_BinOp :: LintSettings,funcName_Inh_BinOp :: String,globalDefinitions_Inh_BinOp :: (M.Map String [Region]),isInModule_Inh_BinOp :: Bool,isMeta_Inh_BinOp :: Bool,loopLevel_Inh_BinOp :: Int,mtokenPos_Inh_BinOp :: Region,scopeLevel_Inh_BinOp :: Int,scopes_Inh_BinOp :: ([M.Map String (Bool, Region)]),variableStyle_Inh_BinOp :: DeterminedVariableStyle}+data Syn_BinOp = Syn_BinOp {copy_Syn_BinOp :: BinOp,globalDefinitions_Syn_BinOp :: (M.Map String [Region]),identifier_Syn_BinOp :: String,isInModule_Syn_BinOp :: Bool,mtokenPos_Syn_BinOp :: Region,scopes_Syn_BinOp :: ([M.Map String (Bool, Region)]),variableStyle_Syn_BinOp :: DeterminedVariableStyle,warnings_Syn_BinOp :: ([String -> LintMessage])}+wrap_BinOp :: T_BinOp ->+ Inh_BinOp ->+ Syn_BinOp+wrap_BinOp sem (Inh_BinOp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_BinOp _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_BinOp_AOr :: T_BinOp+sem_BinOp_AOr =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AOr+ {-# LINE 987 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 992 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_AOr_1 :: T_BinOp_1+ sem_BinOp_AOr_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1009 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1014 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1019 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1024 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1029 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1034 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1039 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_AOr_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_AAnd :: T_BinOp+sem_BinOp_AAnd =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AAnd+ {-# LINE 1050 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1055 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_AAnd_1 :: T_BinOp_1+ sem_BinOp_AAnd_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1072 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1077 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1082 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1087 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1092 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1097 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1102 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_AAnd_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_ALT :: T_BinOp+sem_BinOp_ALT =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ALT+ {-# LINE 1113 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1118 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_ALT_1 :: T_BinOp_1+ sem_BinOp_ALT_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1135 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1140 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1145 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1150 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1155 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1160 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1165 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_ALT_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_AGT :: T_BinOp+sem_BinOp_AGT =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AGT+ {-# LINE 1176 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1181 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_AGT_1 :: T_BinOp_1+ sem_BinOp_AGT_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1198 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1203 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1208 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1213 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1218 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1223 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1228 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_AGT_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_ALEQ :: T_BinOp+sem_BinOp_ALEQ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ALEQ+ {-# LINE 1239 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1244 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_ALEQ_1 :: T_BinOp_1+ sem_BinOp_ALEQ_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1261 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1266 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1271 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1276 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1281 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1286 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1291 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_ALEQ_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_AGEQ :: T_BinOp+sem_BinOp_AGEQ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AGEQ+ {-# LINE 1302 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1307 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_AGEQ_1 :: T_BinOp_1+ sem_BinOp_AGEQ_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1324 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1329 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1334 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1339 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1344 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1349 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1354 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_AGEQ_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_ANEq :: T_BinOp+sem_BinOp_ANEq =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ANEq+ {-# LINE 1365 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1370 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_ANEq_1 :: T_BinOp_1+ sem_BinOp_ANEq_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1387 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1392 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1397 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1402 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1407 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1412 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1417 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_ANEq_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_AEq :: T_BinOp+sem_BinOp_AEq =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AEq+ {-# LINE 1428 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1433 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_AEq_1 :: T_BinOp_1+ sem_BinOp_AEq_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1450 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1455 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1460 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1465 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1470 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1475 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1480 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_AEq_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_AConcatenate :: T_BinOp+sem_BinOp_AConcatenate =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AConcatenate+ {-# LINE 1491 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1496 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_AConcatenate_1 :: T_BinOp_1+ sem_BinOp_AConcatenate_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1513 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1518 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1523 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1528 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1533 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1538 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1543 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_AConcatenate_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_APlus :: T_BinOp+sem_BinOp_APlus =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ APlus+ {-# LINE 1554 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1559 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_APlus_1 :: T_BinOp_1+ sem_BinOp_APlus_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1576 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1581 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1586 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1591 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1596 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1601 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1606 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_APlus_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_BinMinus :: T_BinOp+sem_BinOp_BinMinus =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ BinMinus+ {-# LINE 1617 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1622 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_BinMinus_1 :: T_BinOp_1+ sem_BinOp_BinMinus_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1639 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1644 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1649 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1654 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1659 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1664 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1669 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_BinMinus_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_AMultiply :: T_BinOp+sem_BinOp_AMultiply =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AMultiply+ {-# LINE 1680 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1685 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_AMultiply_1 :: T_BinOp_1+ sem_BinOp_AMultiply_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1702 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1707 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1712 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1717 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1722 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1727 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1732 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_AMultiply_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_ADivide :: T_BinOp+sem_BinOp_ADivide =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ADivide+ {-# LINE 1743 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1748 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_ADivide_1 :: T_BinOp_1+ sem_BinOp_ADivide_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1765 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1770 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1775 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1780 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1785 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1790 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1795 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_ADivide_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_AModulus :: T_BinOp+sem_BinOp_AModulus =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AModulus+ {-# LINE 1806 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1811 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_AModulus_1 :: T_BinOp_1+ sem_BinOp_AModulus_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1828 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1833 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1838 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1843 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1848 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1853 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1858 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_AModulus_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+sem_BinOp_APower :: T_BinOp+sem_BinOp_APower =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ APower+ {-# LINE 1869 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1874 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_BinOp_APower_1 :: T_BinOp_1+ sem_BinOp_APower_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 1891 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 1896 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 1901 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 1906 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1911 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 1916 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 1921 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_BinOp_APower_1)) of+ { ( sem_BinOp_1) ->+ ( _lhsOcopy,sem_BinOp_1) }) }) })+-- Block -------------------------------------------------------+-- cata+sem_Block :: Block ->+ T_Block+sem_Block (Block _pos _stats _ret) =+ (sem_Block_Block _pos (sem_MStatList _stats) (sem_AReturn _ret))+-- semantic domain+type T_Block = ( Block,T_Block_1)+type T_Block_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),Int,DeterminedVariableStyle,([String -> LintMessage]))+data Inh_Block = Inh_Block {config_Inh_Block :: LintSettings,funcName_Inh_Block :: String,globalDefinitions_Inh_Block :: (M.Map String [Region]),isInModule_Inh_Block :: Bool,isMeta_Inh_Block :: Bool,isRepeat_Inh_Block :: Bool,loopLevel_Inh_Block :: Int,mtokenPos_Inh_Block :: Region,scopeLevel_Inh_Block :: Int,scopes_Inh_Block :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Block :: DeterminedVariableStyle}+data Syn_Block = Syn_Block {copy_Syn_Block :: Block,globalDefinitions_Syn_Block :: (M.Map String [Region]),identifier_Syn_Block :: String,isIfStatement_Syn_Block :: Bool,isInModule_Syn_Block :: Bool,mtokenPos_Syn_Block :: Region,scopes_Syn_Block :: ([M.Map String (Bool, Region)]),statementCount_Syn_Block :: Int,variableStyle_Syn_Block :: DeterminedVariableStyle,warnings_Syn_Block :: ([String -> LintMessage])}+wrap_Block :: T_Block ->+ Inh_Block ->+ Syn_Block+wrap_Block sem (Inh_Block _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisRepeat _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisRepeat _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_Block _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings))+sem_Block_Block :: Region ->+ T_MStatList ->+ T_AReturn ->+ T_Block+sem_Block_Block pos_ stats_ ret_ =+ (case (ret_) of+ { ( _retIcopy,ret_1) ->+ (case (stats_) of+ { ( _statsIcopy,stats_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Block pos_ _statsIcopy _retIcopy+ {-# LINE 1968 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 1973 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Block_Block_1 :: T_Block_1+ sem_Block_Block_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisRepeat+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 1991 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statsOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 1996 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statsOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 2001 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statsOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 2006 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statsOvariableStyle ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 2011 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statsOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 2016 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statsOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 2021 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statsOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 2026 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statsOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 2031 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statsOfuncName ->+ (case (({-# LINE 298 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel + 1+ {-# LINE 2036 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statsOscopeLevel ->+ (case (stats_1 _statsOconfig _statsOfuncName _statsOglobalDefinitions _statsOisInModule _statsOisMeta _statsOloopLevel _statsOmtokenPos _statsOscopeLevel _statsOscopes _statsOvariableStyle) of+ { ( _statsIglobalDefinitions,_statsIidentifier,_statsIisIfStatement,_statsIisInModule,_statsImtokenPos,_statsIscopes,_statsIstatementCount,_statsIvariableStyle,_statsIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statsIscopes+ {-# LINE 2043 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _retOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 2048 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _retOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statsIisInModule+ {-# LINE 2053 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _retOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statsIglobalDefinitions+ {-# LINE 2058 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _retOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 2063 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _retOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statsIvariableStyle+ {-# LINE 2068 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _retOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 2073 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _retOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statsImtokenPos+ {-# LINE 2078 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _retOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 2083 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _retOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 2088 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _retOfuncName ->+ (case (ret_1 _retOconfig _retOfuncName _retOglobalDefinitions _retOisInModule _retOisMeta _retOloopLevel _retOmtokenPos _retOscopeLevel _retOscopes _retOvariableStyle) of+ { ( _retIglobalDefinitions,_retIidentifier,_retIisInModule,_retImtokenPos,_retIscopes,_retIstatementCount,_retIvariableStyle,_retIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _retIglobalDefinitions+ {-# LINE 2095 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _statsIidentifier _retIidentifier)+ {-# LINE 2100 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statsIisIfStatement+ {-# LINE 2105 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _retIisInModule+ {-# LINE 2110 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _retImtokenPos+ {-# LINE 2115 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 305 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if _lhsIisRepeat then _retIscopes else tail _retIscopes+ {-# LINE 2120 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 158 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statsIstatementCount + _retIstatementCount+ {-# LINE 2125 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOstatementCount ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _retIvariableStyle+ {-# LINE 2130 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 303 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statsIwarnings ++ _retIwarnings+ {-# LINE 2135 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 302 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.filterWithKey (\k (b, _) -> not (null k) && head k /= '_' && not b) (head _retIscopes)+ {-# LINE 2140 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _deadVars ->+ (case (({-# LINE 299 "src/GLuaFixer/AG/ASTLint.ag" #-}+ lint_maxScopeDepth _lhsIconfig+ {-# LINE 2145 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _maxScopeDepth ->+ (case (({-# LINE 303 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if _maxScopeDepth == 0 || _lhsIscopeLevel /= _maxScopeDepth then id else+ (:) $ warn _statsImtokenPos ScopePyramids+ {-# LINE 2151 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f2 ->+ (case (({-# LINE 303 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_unusedVars _lhsIconfig) || _lhsIisRepeat then id else+ (++) $ M.foldrWithKey (\k (_, pos) ls -> warn pos (UnusedVariable k) : ls) [] _deadVars+ {-# LINE 2157 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 303 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]+ {-# LINE 2162 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Block_Block_1)) of+ { ( sem_Block_1) ->+ ( _lhsOcopy,sem_Block_1) }) }) }) }) })+-- Declaration -------------------------------------------------+-- cata+sem_Declaration :: Declaration ->+ T_Declaration+sem_Declaration ( x1,x2) =+ (sem_Declaration_Tuple (sem_PrefixExp x1) (sem_MaybeMExpr x2))+-- semantic domain+type T_Declaration = ( Declaration,T_Declaration_1)+type T_Declaration_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_Declaration = Inh_Declaration {config_Inh_Declaration :: LintSettings,funcName_Inh_Declaration :: String,globalDefinitions_Inh_Declaration :: (M.Map String [Region]),isInModule_Inh_Declaration :: Bool,isMeta_Inh_Declaration :: Bool,localDefinition_Inh_Declaration :: Bool,loopLevel_Inh_Declaration :: Int,mtokenPos_Inh_Declaration :: Region,scopeLevel_Inh_Declaration :: Int,scopes_Inh_Declaration :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Declaration :: DeterminedVariableStyle}+data Syn_Declaration = Syn_Declaration {copy_Syn_Declaration :: Declaration,globalDefinitions_Syn_Declaration :: (M.Map String [Region]),identifier_Syn_Declaration :: String,isInModule_Syn_Declaration :: Bool,mtokenPos_Syn_Declaration :: Region,scopes_Syn_Declaration :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Declaration :: DeterminedVariableStyle,warnings_Syn_Declaration :: ([String -> LintMessage])}+wrap_Declaration :: T_Declaration ->+ Inh_Declaration ->+ Syn_Declaration+wrap_Declaration sem (Inh_Declaration _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_Declaration _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_Declaration_Tuple :: T_PrefixExp ->+ T_MaybeMExpr ->+ T_Declaration+sem_Declaration_Tuple x1_ x2_ =+ (case (x2_) of+ { ( _x2Icopy,x2_1) ->+ (case (x1_) of+ { ( _x1Icopy,_x1IhasSuffixes,_x1ImtokenPos,_x1IvarName,x1_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (_x1Icopy,_x2Icopy)+ {-# LINE 2208 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 2213 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Declaration_Tuple_1 :: T_Declaration_1+ sem_Declaration_Tuple_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIlocalDefinition+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 2231 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 2236 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1Oconfig ->+ (case (({-# LINE 268 "src/GLuaFixer/AG/ASTLint.ag" #-}+ tokenLabel . fromMaybe (error "fromMaybe sem Declaration loc.var") $ _x1IvarName+ {-# LINE 2241 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _var ->+ (case (({-# LINE 276 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if _lhsIlocalDefinition then+ M.insert _var (False, _x1ImtokenPos) (head _lhsIscopes) : tail _lhsIscopes+ else if isJust _x1IvarName then+ registerVariable _lhsIscopes _x1ImtokenPos _var _x1IhasSuffixes+ else+ _lhsIscopes+ {-# LINE 2251 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1Oscopes ->+ (case (({-# LINE 264 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 2256 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OvarBeingDefined ->+ (case (({-# LINE 260 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 2261 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OregisterVarUse ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 2266 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 2271 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 2276 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 2281 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 2286 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 2291 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 2296 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OfuncName ->+ (case (({-# LINE 262 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 2301 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OtopLevel ->+ (case (({-# LINE 261 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 2306 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OinParentheses ->+ (case (({-# LINE 259 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 2311 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OisNegation ->+ (case (x1_1 _x1Oconfig _x1OfuncName _x1OglobalDefinitions _x1OinParentheses _x1OisInModule _x1OisMeta _x1OisNegation _x1OloopLevel _x1OmtokenPos _x1OregisterVarUse _x1OscopeLevel _x1Oscopes _x1OtopLevel _x1OvarBeingDefined _x1OvariableStyle) of+ { ( _x1IglobalDefinitions,_x1Iidentifier,_x1IisInModule,_x1IisSimpleExpression,_x1IisSingleVar,_x1Iscopes,_x1IvariableStyle,_x1Iwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1Iscopes+ {-# LINE 2318 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2Oscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 2323 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1IisInModule+ {-# LINE 2328 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1IglobalDefinitions+ {-# LINE 2333 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 2338 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2Oconfig ->+ (case (({-# LINE 266 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if _x1IhasSuffixes || not _lhsIlocalDefinition then Nothing else _x1IvarName+ {-# LINE 2343 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1IvariableStyle+ {-# LINE 2348 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 2353 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1ImtokenPos+ {-# LINE 2358 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 2363 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 2368 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OfuncName ->+ (case (({-# LINE 263 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 2373 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OisNegation ->+ (case (x2_1 _x2Oconfig _x2OfuncName _x2OglobalDefinitions _x2OisInModule _x2OisMeta _x2OisNegation _x2OloopLevel _x2OmtokenPos _x2OscopeLevel _x2Oscopes _x2OvarBeingDefined _x2OvariableStyle) of+ { ( _x2IglobalDefinitions,_x2Iidentifier,_x2IisInModule,_x2IisSingleVar,_x2ImtokenPos,_x2Iscopes,_x2IvariableStyle,_x2Iwarnings) ->+ (case (({-# LINE 283 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x2IglobalDefinitions+ {-# LINE 2380 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _globalDefinitions_augmented_syn ->+ (case (({-# LINE 283 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if _lhsIisInModule || _lhsIlocalDefinition || isVariableLocal _lhsIscopes _var || _x1IhasSuffixes then id else+ M.insertWith (++) _var [_x1ImtokenPos]+ {-# LINE 2386 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _globalDefinitions_augmented_f1 ->+ (case (({-# LINE 283 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _globalDefinitions_augmented_syn [_globalDefinitions_augmented_f1]+ {-# LINE 2391 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _x1Iidentifier _x2Iidentifier)+ {-# LINE 2396 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x2IisInModule+ {-# LINE 2401 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 257 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1ImtokenPos+ {-# LINE 2406 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x2Iscopes+ {-# LINE 2411 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 269 "src/GLuaFixer/AG/ASTLint.ag" #-}+ determineVariableStyle _var+ {-# LINE 2416 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varStyle ->+ (case (({-# LINE 258 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if _lhsIlocalDefinition then combineDeterminedVarStyle _lhsIvariableStyle _varStyle else _lhsIvariableStyle+ {-# LINE 2421 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 288 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1Iwarnings ++ _x2Iwarnings+ {-# LINE 2426 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 270 "src/GLuaFixer/AG/ASTLint.ag" #-}+ do+ var <- _x1IvarName+ if (Just var /= _x2IisSingleVar) then+ checkShadows _lhsIscopes var+ else Nothing+ {-# LINE 2435 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _shadowWarning ->+ (case (({-# LINE 288 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_shadowing _lhsIconfig) || not _lhsIlocalDefinition || isNothing _shadowWarning then id else+ (:) . fromMaybe (error "fromMaybe sem Declaration +warnings") $ _shadowWarning+ {-# LINE 2441 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f2 ->+ (case (({-# LINE 288 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_inconsistentVariableStyle _lhsIconfig) || not _lhsIlocalDefinition || not (variableStyleInconsistent _lhsIvariableStyle _varStyle ) then id else+ (:) $ warn _x1ImtokenPos InconsistentVariableNaming+ {-# LINE 2447 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 288 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]+ {-# LINE 2452 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Declaration_Tuple_1)) of+ { ( sem_Declaration_1) ->+ ( _lhsOcopy,sem_Declaration_1) }) }) }) }) })+-- Else --------------------------------------------------------+-- cata+sem_Else :: Else ->+ T_Else+sem_Else (Prelude.Just x) =+ (sem_Else_Just (sem_MElse x))+sem_Else Prelude.Nothing =+ sem_Else_Nothing+-- semantic domain+type T_Else = ( Else,T_Else_1)+type T_Else_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( Bool,(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_Else = Inh_Else {config_Inh_Else :: LintSettings,funcName_Inh_Else :: String,globalDefinitions_Inh_Else :: (M.Map String [Region]),isInModule_Inh_Else :: Bool,isMeta_Inh_Else :: Bool,loopLevel_Inh_Else :: Int,mtokenPos_Inh_Else :: Region,scopeLevel_Inh_Else :: Int,scopes_Inh_Else :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Else :: DeterminedVariableStyle}+data Syn_Else = Syn_Else {copy_Syn_Else :: Else,elseExists_Syn_Else :: Bool,globalDefinitions_Syn_Else :: (M.Map String [Region]),identifier_Syn_Else :: String,isInModule_Syn_Else :: Bool,mtokenPos_Syn_Else :: Region,scopes_Syn_Else :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Else :: DeterminedVariableStyle,warnings_Syn_Else :: ([String -> LintMessage])}+wrap_Else :: T_Else ->+ Inh_Else ->+ Syn_Else+wrap_Else sem (Inh_Else _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_Else _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_Else_Just :: T_MElse ->+ T_Else+sem_Else_Just just_ =+ (case (just_) of+ { ( _justIcopy,just_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Just _justIcopy+ {-# LINE 2496 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 2501 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Else_Just_1 :: T_Else_1+ sem_Else_Just_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 498 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 2518 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOelseExists ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 2523 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 2528 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 2533 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 2538 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOconfig ->+ (case (({-# LINE 497 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.empty : _lhsIscopes+ {-# LINE 2543 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 2548 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 2553 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 2558 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 2563 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 2568 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOfuncName ->+ (case (just_1 _justOconfig _justOfuncName _justOglobalDefinitions _justOisInModule _justOisMeta _justOloopLevel _justOmtokenPos _justOscopeLevel _justOscopes _justOvariableStyle) of+ { ( _justIelseExists,_justIglobalDefinitions,_justIidentifier,_justIisInModule,_justImtokenPos,_justIscopes,_justIstatementCount,_justIvariableStyle,_justIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIglobalDefinitions+ {-# LINE 2575 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIidentifier+ {-# LINE 2580 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIisInModule+ {-# LINE 2585 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justImtokenPos+ {-# LINE 2590 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIscopes+ {-# LINE 2595 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIvariableStyle+ {-# LINE 2600 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 500 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIwarnings+ {-# LINE 2605 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 499 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Region (rgStart _justImtokenPos) (rgEnd _lhsImtokenPos)+ {-# LINE 2610 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsePos ->+ (case (({-# LINE 500 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_emptyBlocks _lhsIconfig) || _justIstatementCount > 0 then id else+ (:) $ warn _elsePos EmptyElse+ {-# LINE 2616 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 500 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 2621 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Else_Just_1)) of+ { ( sem_Else_1) ->+ ( _lhsOcopy,sem_Else_1) }) }) }) })+sem_Else_Nothing :: T_Else+sem_Else_Nothing =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 2632 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 2637 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Else_Nothing_1 :: T_Else_1+ sem_Else_Nothing_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 203 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 2654 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOelseExists ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 2659 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 2664 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 2669 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 2674 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 2679 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 2684 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 2689 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_Else_Nothing_1)) of+ { ( sem_Else_1) ->+ ( _lhsOcopy,sem_Else_1) }) }) })+-- ElseIf ------------------------------------------------------+-- cata+sem_ElseIf :: ElseIf ->+ T_ElseIf+sem_ElseIf ( x1,x2) =+ (sem_ElseIf_Tuple (sem_MExpr x1) (sem_Block x2))+-- semantic domain+type T_ElseIf = ( ElseIf,T_ElseIf_1)+type T_ElseIf_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_ElseIf = Inh_ElseIf {config_Inh_ElseIf :: LintSettings,funcName_Inh_ElseIf :: String,globalDefinitions_Inh_ElseIf :: (M.Map String [Region]),isInModule_Inh_ElseIf :: Bool,isMeta_Inh_ElseIf :: Bool,loopLevel_Inh_ElseIf :: Int,mtokenPos_Inh_ElseIf :: Region,scopeLevel_Inh_ElseIf :: Int,scopes_Inh_ElseIf :: ([M.Map String (Bool, Region)]),variableStyle_Inh_ElseIf :: DeterminedVariableStyle}+data Syn_ElseIf = Syn_ElseIf {copy_Syn_ElseIf :: ElseIf,globalDefinitions_Syn_ElseIf :: (M.Map String [Region]),identifier_Syn_ElseIf :: String,isInModule_Syn_ElseIf :: Bool,mtokenPos_Syn_ElseIf :: Region,scopes_Syn_ElseIf :: ([M.Map String (Bool, Region)]),variableStyle_Syn_ElseIf :: DeterminedVariableStyle,warnings_Syn_ElseIf :: ([String -> LintMessage])}+wrap_ElseIf :: T_ElseIf ->+ Inh_ElseIf ->+ Syn_ElseIf+wrap_ElseIf sem (Inh_ElseIf _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_ElseIf _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_ElseIf_Tuple :: T_MExpr ->+ T_Block ->+ T_ElseIf+sem_ElseIf_Tuple x1_ x2_ =+ (case (x2_) of+ { ( _x2Icopy,x2_1) ->+ (case (x1_) of+ { ( _x1Icopy,_x1ImtokenPos,x1_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (_x1Icopy,_x2Icopy)+ {-# LINE 2734 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 2739 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_ElseIf_Tuple_1 :: T_ElseIf_1+ sem_ElseIf_Tuple_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 2756 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 2761 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OisInModule ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 2766 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 2771 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1Oscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 2776 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 2781 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 2786 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 2791 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OisMeta ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 2796 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 2801 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 2806 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1Oconfig ->+ (case (({-# LINE 484 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 2811 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OvarBeingDefined ->+ (case (({-# LINE 483 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 2816 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OtopLevel ->+ (case (({-# LINE 482 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 2821 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OinParentheses ->+ (case (({-# LINE 481 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 2826 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x1OisNegation ->+ (case (x1_1 _x1Oconfig _x1OfuncName _x1OglobalDefinitions _x1OinParentheses _x1OisInModule _x1OisMeta _x1OisNegation _x1OloopLevel _x1OmtokenPos _x1OscopeLevel _x1Oscopes _x1OtopLevel _x1OvarBeingDefined _x1OvariableStyle) of+ { ( _x1IglobalDefinitions,_x1Iidentifier,_x1IisInModule,_x1IisSimpleExpression,_x1IisSingleVar,_x1Iscopes,_x1IvariableStyle,_x1Iwarnings) ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1IisInModule+ {-# LINE 2833 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1IglobalDefinitions+ {-# LINE 2838 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 2843 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2Oconfig ->+ (case (({-# LINE 485 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.empty : _x1Iscopes+ {-# LINE 2848 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2Oscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1IvariableStyle+ {-# LINE 2853 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 2858 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1ImtokenPos+ {-# LINE 2863 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 2868 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 2873 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OfuncName ->+ (case (({-# LINE 486 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 2878 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _x2OisRepeat ->+ (case (x2_1 _x2Oconfig _x2OfuncName _x2OglobalDefinitions _x2OisInModule _x2OisMeta _x2OisRepeat _x2OloopLevel _x2OmtokenPos _x2OscopeLevel _x2Oscopes _x2OvariableStyle) of+ { ( _x2IglobalDefinitions,_x2Iidentifier,_x2IisIfStatement,_x2IisInModule,_x2ImtokenPos,_x2Iscopes,_x2IstatementCount,_x2IvariableStyle,_x2Iwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x2IglobalDefinitions+ {-# LINE 2885 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _x1Iidentifier _x2Iidentifier)+ {-# LINE 2890 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x2IisInModule+ {-# LINE 2895 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x2ImtokenPos+ {-# LINE 2900 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x2Iscopes+ {-# LINE 2905 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x2IvariableStyle+ {-# LINE 2910 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 487 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _x1Iwarnings ++ _x2Iwarnings+ {-# LINE 2915 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 487 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_emptyBlocks _lhsIconfig) || _x2IstatementCount > 0 then id else+ (:) $ warn _lhsImtokenPos EmptyElseIf+ {-# LINE 2921 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 487 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 2926 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_ElseIf_Tuple_1)) of+ { ( sem_ElseIf_1) ->+ ( _lhsOcopy,sem_ElseIf_1) }) }) }) }) })+-- ElseIfList --------------------------------------------------+-- cata+sem_ElseIfList :: ElseIfList ->+ T_ElseIfList+sem_ElseIfList list =+ (Prelude.foldr sem_ElseIfList_Cons sem_ElseIfList_Nil (Prelude.map sem_MElseIf list))+-- semantic domain+type T_ElseIfList = ( ElseIfList,T_ElseIfList_1)+type T_ElseIfList_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( Bool,(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_ElseIfList = Inh_ElseIfList {config_Inh_ElseIfList :: LintSettings,funcName_Inh_ElseIfList :: String,globalDefinitions_Inh_ElseIfList :: (M.Map String [Region]),isInModule_Inh_ElseIfList :: Bool,isMeta_Inh_ElseIfList :: Bool,loopLevel_Inh_ElseIfList :: Int,mtokenPos_Inh_ElseIfList :: Region,scopeLevel_Inh_ElseIfList :: Int,scopes_Inh_ElseIfList :: ([M.Map String (Bool, Region)]),variableStyle_Inh_ElseIfList :: DeterminedVariableStyle}+data Syn_ElseIfList = Syn_ElseIfList {copy_Syn_ElseIfList :: ElseIfList,elseExists_Syn_ElseIfList :: Bool,globalDefinitions_Syn_ElseIfList :: (M.Map String [Region]),identifier_Syn_ElseIfList :: String,isInModule_Syn_ElseIfList :: Bool,mtokenPos_Syn_ElseIfList :: Region,scopes_Syn_ElseIfList :: ([M.Map String (Bool, Region)]),variableStyle_Syn_ElseIfList :: DeterminedVariableStyle,warnings_Syn_ElseIfList :: ([String -> LintMessage])}+wrap_ElseIfList :: T_ElseIfList ->+ Inh_ElseIfList ->+ Syn_ElseIfList+wrap_ElseIfList sem (Inh_ElseIfList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_ElseIfList _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_ElseIfList_Cons :: T_MElseIf ->+ T_ElseIfList ->+ T_ElseIfList+sem_ElseIfList_Cons hd_ tl_ =+ (case (tl_) of+ { ( _tlIcopy,tl_1) ->+ (case (hd_) of+ { ( _hdIcopy,hd_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 2971 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 2976 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_ElseIfList_Cons_1 :: T_ElseIfList_1+ sem_ElseIfList_Cons_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 468 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 2993 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOelseExists ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 2998 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 3003 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 3008 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 3013 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 3018 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 3023 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 3028 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 3033 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 3038 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 3043 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOfuncName ->+ (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of+ { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdImtokenPos,_hdIscopes,_hdIvariableStyle,_hdIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIscopes+ {-# LINE 3050 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 3055 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIisInModule+ {-# LINE 3060 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIglobalDefinitions+ {-# LINE 3065 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 3070 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIvariableStyle+ {-# LINE 3075 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 3080 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 3085 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 3090 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 3095 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOfuncName ->+ (case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of+ { ( _tlIelseExists,_tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIvariableStyle,_tlIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIglobalDefinitions+ {-# LINE 3102 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _hdIidentifier _tlIidentifier)+ {-# LINE 3107 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIisInModule+ {-# LINE 3112 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 469 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Region+ (rgStart _hdImtokenPos)+ (rgEnd $ if _tlIelseExists then _tlImtokenPos else _hdImtokenPos)+ {-# LINE 3119 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIscopes+ {-# LINE 3124 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIvariableStyle+ {-# LINE 3129 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIwarnings ++ _tlIwarnings+ {-# LINE 3134 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_ElseIfList_Cons_1)) of+ { ( sem_ElseIfList_1) ->+ ( _lhsOcopy,sem_ElseIfList_1) }) }) }) }) })+sem_ElseIfList_Nil :: T_ElseIfList+sem_ElseIfList_Nil =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 3145 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 3150 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_ElseIfList_Nil_1 :: T_ElseIfList_1+ sem_ElseIfList_Nil_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 203 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 3167 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOelseExists ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 3172 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 3177 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 3182 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 3187 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 3192 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 3197 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 3202 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_ElseIfList_Nil_1)) of+ { ( sem_ElseIfList_1) ->+ ( _lhsOcopy,sem_ElseIfList_1) }) }) })+-- Expr --------------------------------------------------------+-- cata+sem_Expr :: Expr ->+ T_Expr+sem_Expr (ANil) =+ (sem_Expr_ANil)+sem_Expr (AFalse) =+ (sem_Expr_AFalse)+sem_Expr (ATrue) =+ (sem_Expr_ATrue)+sem_Expr (ANumber _num) =+ (sem_Expr_ANumber _num)+sem_Expr (AString _str) =+ (sem_Expr_AString (sem_MToken _str))+sem_Expr (AVarArg) =+ (sem_Expr_AVarArg)+sem_Expr (AnonymousFunc _pars _body) =+ (sem_Expr_AnonymousFunc _pars (sem_Block _body))+sem_Expr (APrefixExpr _pexpr) =+ (sem_Expr_APrefixExpr (sem_PrefixExp _pexpr))+sem_Expr (ATableConstructor _fields) =+ (sem_Expr_ATableConstructor (sem_FieldList _fields))+sem_Expr (BinOpExpr _op _left _right) =+ (sem_Expr_BinOpExpr (sem_BinOp _op) (sem_MExpr _left) (sem_MExpr _right))+sem_Expr (UnOpExpr _op _right) =+ (sem_Expr_UnOpExpr (sem_UnOp _op) (sem_MExpr _right))+-- semantic domain+type T_Expr = ( Expr,T_Expr_1)+type T_Expr_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ Bool ->+ (Maybe MToken) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Bool,(Maybe MToken),Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_Expr = Inh_Expr {config_Inh_Expr :: LintSettings,funcName_Inh_Expr :: String,globalDefinitions_Inh_Expr :: (M.Map String [Region]),inParentheses_Inh_Expr :: Bool,isInModule_Inh_Expr :: Bool,isMeta_Inh_Expr :: Bool,isNegation_Inh_Expr :: Bool,loopLevel_Inh_Expr :: Int,mtokenPos_Inh_Expr :: Region,scopeLevel_Inh_Expr :: Int,scopes_Inh_Expr :: ([M.Map String (Bool, Region)]),topLevel_Inh_Expr :: Bool,varBeingDefined_Inh_Expr :: (Maybe MToken),variableStyle_Inh_Expr :: DeterminedVariableStyle}+data Syn_Expr = Syn_Expr {copy_Syn_Expr :: Expr,globalDefinitions_Syn_Expr :: (M.Map String [Region]),identifier_Syn_Expr :: String,isInModule_Syn_Expr :: Bool,isSimpleExpression_Syn_Expr :: Bool,isSingleVar_Syn_Expr :: (Maybe MToken),mtokenPos_Syn_Expr :: Region,scopes_Syn_Expr :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Expr :: DeterminedVariableStyle,warnings_Syn_Expr :: ([String -> LintMessage])}+wrap_Expr :: T_Expr ->+ Inh_Expr ->+ Syn_Expr+wrap_Expr sem (Inh_Expr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle+ in (Syn_Expr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_Expr_ANil :: T_Expr+sem_Expr_ANil =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ANil+ {-# LINE 3265 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 3270 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_ANil_1 :: T_Expr_1+ sem_Expr_ANil_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 3291 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 3296 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 3301 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 3306 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 3311 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 3316 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 3321 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 3326 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 3331 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))+ in sem_Expr_ANil_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) })+sem_Expr_AFalse :: T_Expr+sem_Expr_AFalse =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AFalse+ {-# LINE 3342 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 3347 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_AFalse_1 :: T_Expr_1+ sem_Expr_AFalse_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 3368 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 3373 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 3378 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 3383 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 3388 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 3393 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 3398 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 3403 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 3408 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))+ in sem_Expr_AFalse_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) })+sem_Expr_ATrue :: T_Expr+sem_Expr_ATrue =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ATrue+ {-# LINE 3419 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 3424 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_ATrue_1 :: T_Expr_1+ sem_Expr_ATrue_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 3445 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 3450 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 3455 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 3460 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 3465 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 3470 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 3475 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 3480 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 3485 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))+ in sem_Expr_ATrue_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) })+sem_Expr_ANumber :: String ->+ T_Expr+sem_Expr_ANumber num_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ANumber num_+ {-# LINE 3497 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 3502 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_ANumber_1 :: T_Expr_1+ sem_Expr_ANumber_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 3523 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 3528 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 3533 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 3538 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 3543 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 3548 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 3553 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 3558 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 3563 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))+ in sem_Expr_ANumber_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) })+sem_Expr_AString :: T_MToken ->+ T_Expr+sem_Expr_AString str_ =+ (case (str_) of+ { ( _strIcopy,_strImtok,_strImtokenPos,str_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AString _strIcopy+ {-# LINE 3577 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 3582 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_AString_1 :: T_Expr_1+ sem_Expr_AString_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 3603 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _strOglobalDefinitions ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 3608 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _strOscopes ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 3613 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _strOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 3618 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _strOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 3623 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _strOisInModule ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 3628 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _strOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 3633 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _strOconfig ->+ (case (str_1 _strOconfig _strOfuncName _strOglobalDefinitions _strOisInModule _strOisMeta _strOmtokenPos _strOscopes) of+ { ( _strIglobalDefinitions,_strIidentifier,_strIisInModule,_strIscopes,_strIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _strIglobalDefinitions+ {-# LINE 3640 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _strIidentifier+ {-# LINE 3645 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _strIisInModule+ {-# LINE 3650 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 3655 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 3660 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _strImtokenPos+ {-# LINE 3665 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _strIscopes+ {-# LINE 3670 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 3675 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _strIwarnings+ {-# LINE 3680 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Expr_AString_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) }) })+sem_Expr_AVarArg :: T_Expr+sem_Expr_AVarArg =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AVarArg+ {-# LINE 3691 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 3696 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_AVarArg_1 :: T_Expr_1+ sem_Expr_AVarArg_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 3717 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 3722 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 3727 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 580 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 3732 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 3737 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 3742 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 3747 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 3752 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 3757 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))+ in sem_Expr_AVarArg_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) })+sem_Expr_AnonymousFunc :: ([MToken]) ->+ T_Block ->+ T_Expr+sem_Expr_AnonymousFunc pars_ body_ =+ (case (body_) of+ { ( _bodyIcopy,body_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AnonymousFunc pars_ _bodyIcopy+ {-# LINE 3772 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 3777 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_AnonymousFunc_1 :: T_Expr_1+ sem_Expr_AnonymousFunc_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 3798 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 3803 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 3808 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOconfig ->+ (case (({-# LINE 585 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta || findSelf pars_+ {-# LINE 3813 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisMeta ->+ (case (({-# LINE 582 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.fromList $ map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) pars_+ {-# LINE 3818 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _introduces ->+ (case (({-# LINE 583 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _introduces : _lhsIscopes+ {-# LINE 3823 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 3828 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 3833 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 3838 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 3843 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 3848 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOfuncName ->+ (case (({-# LINE 584 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 3853 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisRepeat ->+ (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of+ { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIglobalDefinitions+ {-# LINE 3860 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIidentifier+ {-# LINE 3865 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIisInModule+ {-# LINE 3870 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 3875 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 3880 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyImtokenPos+ {-# LINE 3885 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIscopes+ {-# LINE 3890 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIvariableStyle+ {-# LINE 3895 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 588 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIwarnings+ {-# LINE 3900 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 586 "src/GLuaFixer/AG/ASTLint.ag" #-}+ filter (/= MToken emptyRg VarArg) $ pars_+ {-# LINE 3905 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argIdentifiers ->+ (case (({-# LINE 588 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_shadowing _lhsIconfig) then id else+ (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers+ {-# LINE 3911 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 588 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 3916 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Expr_AnonymousFunc_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) }) })+sem_Expr_APrefixExpr :: T_PrefixExp ->+ T_Expr+sem_Expr_APrefixExpr pexpr_ =+ (case (pexpr_) of+ { ( _pexprIcopy,_pexprIhasSuffixes,_pexprImtokenPos,_pexprIvarName,pexpr_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ APrefixExpr _pexprIcopy+ {-# LINE 3930 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 3935 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_APrefixExpr_1 :: T_Expr_1+ sem_Expr_APrefixExpr_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 179 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvarBeingDefined+ {-# LINE 3956 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOvarBeingDefined ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 3961 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 3966 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 3971 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 3976 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 3981 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOconfig ->+ (case (({-# LINE 591 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 3986 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOregisterVarUse ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 3991 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOvariableStyle ->+ (case (({-# LINE 183 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsItopLevel+ {-# LINE 3996 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOtopLevel ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 4001 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 4006 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 4011 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOloopLevel ->+ (case (({-# LINE 170 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisNegation+ {-# LINE 4016 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOisNegation ->+ (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIinParentheses+ {-# LINE 4021 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOinParentheses ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 4026 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _pexprOfuncName ->+ (case (pexpr_1 _pexprOconfig _pexprOfuncName _pexprOglobalDefinitions _pexprOinParentheses _pexprOisInModule _pexprOisMeta _pexprOisNegation _pexprOloopLevel _pexprOmtokenPos _pexprOregisterVarUse _pexprOscopeLevel _pexprOscopes _pexprOtopLevel _pexprOvarBeingDefined _pexprOvariableStyle) of+ { ( _pexprIglobalDefinitions,_pexprIidentifier,_pexprIisInModule,_pexprIisSimpleExpression,_pexprIisSingleVar,_pexprIscopes,_pexprIvariableStyle,_pexprIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _pexprIglobalDefinitions+ {-# LINE 4033 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _pexprIidentifier+ {-# LINE 4038 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _pexprIisInModule+ {-# LINE 4043 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _pexprIisSimpleExpression+ {-# LINE 4048 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _pexprIisSingleVar+ {-# LINE 4053 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _pexprImtokenPos+ {-# LINE 4058 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _pexprIscopes+ {-# LINE 4063 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _pexprIvariableStyle+ {-# LINE 4068 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _pexprIwarnings+ {-# LINE 4073 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Expr_APrefixExpr_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) }) })+sem_Expr_ATableConstructor :: T_FieldList ->+ T_Expr+sem_Expr_ATableConstructor fields_ =+ (case (fields_) of+ { ( _fieldsIcopy,fields_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ATableConstructor _fieldsIcopy+ {-# LINE 4087 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 4092 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_ATableConstructor_1 :: T_Expr_1+ sem_Expr_ATableConstructor_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 4113 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 4118 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 4123 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 4128 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 4133 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 4138 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 4143 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 4148 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 4153 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 4158 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOfuncName ->+ (case (({-# LINE 593 "src/GLuaFixer/AG/ASTLint.ag" #-}+ S.empty+ {-# LINE 4163 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fieldsOfieldNames ->+ (case (fields_1 _fieldsOconfig _fieldsOfieldNames _fieldsOfuncName _fieldsOglobalDefinitions _fieldsOisInModule _fieldsOisMeta _fieldsOloopLevel _fieldsOmtokenPos _fieldsOscopeLevel _fieldsOscopes _fieldsOvariableStyle) of+ { ( _fieldsIfieldNames,_fieldsIglobalDefinitions,_fieldsIidentifier,_fieldsIisInModule,_fieldsImtokenPos,_fieldsIscopes,_fieldsIvariableStyle,_fieldsIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fieldsIglobalDefinitions+ {-# LINE 4170 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fieldsIidentifier+ {-# LINE 4175 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fieldsIisInModule+ {-# LINE 4180 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 4185 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 4190 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fieldsImtokenPos+ {-# LINE 4195 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fieldsIscopes+ {-# LINE 4200 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fieldsIvariableStyle+ {-# LINE 4205 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fieldsIwarnings+ {-# LINE 4210 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Expr_ATableConstructor_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) }) })+sem_Expr_BinOpExpr :: T_BinOp ->+ T_MExpr ->+ T_MExpr ->+ T_Expr+sem_Expr_BinOpExpr op_ left_ right_ =+ (case (right_) of+ { ( _rightIcopy,_rightImtokenPos,right_1) ->+ (case (left_) of+ { ( _leftIcopy,_leftImtokenPos,left_1) ->+ (case (op_) of+ { ( _opIcopy,op_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ BinOpExpr _opIcopy _leftIcopy _rightIcopy+ {-# LINE 4230 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 4235 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_BinOpExpr_1 :: T_Expr_1+ sem_Expr_BinOpExpr_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 4256 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 4261 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 4266 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 4271 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 4276 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 4281 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 4286 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 4291 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 4296 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 4301 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOconfig ->+ (case (op_1 _opOconfig _opOfuncName _opOglobalDefinitions _opOisInModule _opOisMeta _opOloopLevel _opOmtokenPos _opOscopeLevel _opOscopes _opOvariableStyle) of+ { ( _opIglobalDefinitions,_opIidentifier,_opIisInModule,_opImtokenPos,_opIscopes,_opIvariableStyle,_opIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIscopes+ {-# LINE 4308 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 4313 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 4318 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOconfig ->+ (case (({-# LINE 599 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 4323 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIvariableStyle+ {-# LINE 4328 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 4333 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opImtokenPos+ {-# LINE 4338 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 4343 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIisInModule+ {-# LINE 4348 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIglobalDefinitions+ {-# LINE 4353 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 4358 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOfuncName ->+ (case (({-# LINE 598 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 4363 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOtopLevel ->+ (case (({-# LINE 597 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 4368 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOinParentheses ->+ (case (({-# LINE 596 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 4373 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _leftOisNegation ->+ (case (left_1 _leftOconfig _leftOfuncName _leftOglobalDefinitions _leftOinParentheses _leftOisInModule _leftOisMeta _leftOisNegation _leftOloopLevel _leftOmtokenPos _leftOscopeLevel _leftOscopes _leftOtopLevel _leftOvarBeingDefined _leftOvariableStyle) of+ { ( _leftIglobalDefinitions,_leftIidentifier,_leftIisInModule,_leftIisSimpleExpression,_leftIisSingleVar,_leftIscopes,_leftIvariableStyle,_leftIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _leftIscopes+ {-# LINE 4380 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 4385 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _leftIisInModule+ {-# LINE 4390 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _leftIglobalDefinitions+ {-# LINE 4395 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 4400 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOconfig ->+ (case (({-# LINE 603 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 4405 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _leftIvariableStyle+ {-# LINE 4410 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 4415 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _leftImtokenPos+ {-# LINE 4420 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 4425 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 4430 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOfuncName ->+ (case (({-# LINE 602 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 4435 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOtopLevel ->+ (case (({-# LINE 601 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 4440 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOinParentheses ->+ (case (({-# LINE 600 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 4445 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOisNegation ->+ (case (right_1 _rightOconfig _rightOfuncName _rightOglobalDefinitions _rightOinParentheses _rightOisInModule _rightOisMeta _rightOisNegation _rightOloopLevel _rightOmtokenPos _rightOscopeLevel _rightOscopes _rightOtopLevel _rightOvarBeingDefined _rightOvariableStyle) of+ { ( _rightIglobalDefinitions,_rightIidentifier,_rightIisInModule,_rightIisSimpleExpression,_rightIisSingleVar,_rightIscopes,_rightIvariableStyle,_rightIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightIglobalDefinitions+ {-# LINE 4452 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _opIidentifier (const _leftIidentifier _rightIidentifier))+ {-# LINE 4457 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightIisInModule+ {-# LINE 4462 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 595 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 4467 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const (const Nothing) _leftIisSingleVar _rightIisSingleVar)+ {-# LINE 4472 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightImtokenPos+ {-# LINE 4477 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightIscopes+ {-# LINE 4482 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightIvariableStyle+ {-# LINE 4487 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 607 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIwarnings ++ _leftIwarnings ++ _rightIwarnings+ {-# LINE 4492 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 606 "src/GLuaFixer/AG/ASTLint.ag" #-}+ oppositeBinOp _opIcopy+ {-# LINE 4497 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stupidNegation ->+ (case (({-# LINE 607 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_doubleNegations _lhsIconfig) || not _lhsIisNegation || isNothing _stupidNegation then id else+ (:) $ warn _lhsImtokenPos $ SillyNegation$ fromMaybe (error "fromMaybe sem Expr loc.stupidNegation") _stupidNegation+ {-# LINE 4503 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 607 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 4508 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Expr_BinOpExpr_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) }) }) }) })+sem_Expr_UnOpExpr :: T_UnOp ->+ T_MExpr ->+ T_Expr+sem_Expr_UnOpExpr op_ right_ =+ (case (right_) of+ { ( _rightIcopy,_rightImtokenPos,right_1) ->+ (case (op_) of+ { ( _opIcopy,op_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ UnOpExpr _opIcopy _rightIcopy+ {-# LINE 4525 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 4530 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Expr_UnOpExpr_1 :: T_Expr_1+ sem_Expr_UnOpExpr_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 4551 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 4556 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 4561 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 4566 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 4571 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 4576 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 4581 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 4586 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 4591 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 4596 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _opOconfig ->+ (case (op_1 _opOconfig _opOfuncName _opOglobalDefinitions _opOisInModule _opOisMeta _opOloopLevel _opOmtokenPos _opOscopeLevel _opOscopes _opOvariableStyle) of+ { ( _opIglobalDefinitions,_opIidentifier,_opIisInModule,_opIisNegation,_opImtokenPos,_opIscopes,_opIvariableStyle,_opIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIscopes+ {-# LINE 4603 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 4608 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIisInModule+ {-# LINE 4613 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIglobalDefinitions+ {-# LINE 4618 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 4623 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOconfig ->+ (case (({-# LINE 614 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 4628 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIvariableStyle+ {-# LINE 4633 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 4638 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opImtokenPos+ {-# LINE 4643 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 4648 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 4653 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOfuncName ->+ (case (({-# LINE 613 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 4658 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOtopLevel ->+ (case (({-# LINE 612 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 4663 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOinParentheses ->+ (case (({-# LINE 611 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIisNegation+ {-# LINE 4668 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _rightOisNegation ->+ (case (right_1 _rightOconfig _rightOfuncName _rightOglobalDefinitions _rightOinParentheses _rightOisInModule _rightOisMeta _rightOisNegation _rightOloopLevel _rightOmtokenPos _rightOscopeLevel _rightOscopes _rightOtopLevel _rightOvarBeingDefined _rightOvariableStyle) of+ { ( _rightIglobalDefinitions,_rightIidentifier,_rightIisInModule,_rightIisSimpleExpression,_rightIisSingleVar,_rightIscopes,_rightIvariableStyle,_rightIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightIglobalDefinitions+ {-# LINE 4675 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _opIidentifier _rightIidentifier)+ {-# LINE 4680 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightIisInModule+ {-# LINE 4685 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 610 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 4690 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightIisSingleVar+ {-# LINE 4695 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightImtokenPos+ {-# LINE 4700 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightIscopes+ {-# LINE 4705 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _rightIvariableStyle+ {-# LINE 4710 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _opIwarnings ++ _rightIwarnings+ {-# LINE 4715 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Expr_UnOpExpr_1)) of+ { ( sem_Expr_1) ->+ ( _lhsOcopy,sem_Expr_1) }) }) }) }) })+-- ExprSuffixList ----------------------------------------------+-- cata+sem_ExprSuffixList :: ExprSuffixList ->+ T_ExprSuffixList+sem_ExprSuffixList list =+ (Prelude.foldr sem_ExprSuffixList_Cons sem_ExprSuffixList_Nil (Prelude.map sem_PFExprSuffix list))+-- semantic domain+type T_ExprSuffixList = ( ExprSuffixList,T_ExprSuffixList_1)+type T_ExprSuffixList_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_ExprSuffixList = Inh_ExprSuffixList {config_Inh_ExprSuffixList :: LintSettings,funcName_Inh_ExprSuffixList :: String,globalDefinitions_Inh_ExprSuffixList :: (M.Map String [Region]),isInModule_Inh_ExprSuffixList :: Bool,isMeta_Inh_ExprSuffixList :: Bool,loopLevel_Inh_ExprSuffixList :: Int,mtokenPos_Inh_ExprSuffixList :: Region,scopeLevel_Inh_ExprSuffixList :: Int,scopes_Inh_ExprSuffixList :: ([M.Map String (Bool, Region)]),variableStyle_Inh_ExprSuffixList :: DeterminedVariableStyle}+data Syn_ExprSuffixList = Syn_ExprSuffixList {copy_Syn_ExprSuffixList :: ExprSuffixList,globalDefinitions_Syn_ExprSuffixList :: (M.Map String [Region]),identifier_Syn_ExprSuffixList :: String,isInModule_Syn_ExprSuffixList :: Bool,isSimpleExpression_Syn_ExprSuffixList :: Bool,mtokenPos_Syn_ExprSuffixList :: Region,scopes_Syn_ExprSuffixList :: ([M.Map String (Bool, Region)]),variableStyle_Syn_ExprSuffixList :: DeterminedVariableStyle,warnings_Syn_ExprSuffixList :: ([String -> LintMessage])}+wrap_ExprSuffixList :: T_ExprSuffixList ->+ Inh_ExprSuffixList ->+ Syn_ExprSuffixList+wrap_ExprSuffixList sem (Inh_ExprSuffixList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_ExprSuffixList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_ExprSuffixList_Cons :: T_PFExprSuffix ->+ T_ExprSuffixList ->+ T_ExprSuffixList+sem_ExprSuffixList_Cons hd_ tl_ =+ (case (tl_) of+ { ( _tlIcopy,tl_1) ->+ (case (hd_) of+ { ( _hdIcopy,hd_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 4760 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 4765 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_ExprSuffixList_Cons_1 :: T_ExprSuffixList_1+ sem_ExprSuffixList_Cons_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 4782 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 4787 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 4792 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 4797 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 4802 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 4807 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 4812 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 4817 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 4822 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 4827 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOfuncName ->+ (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of+ { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdIisSimpleExpression,_hdImtokenPos,_hdIscopes,_hdIvariableStyle,_hdIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIscopes+ {-# LINE 4834 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 4839 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIisInModule+ {-# LINE 4844 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIglobalDefinitions+ {-# LINE 4849 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 4854 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIvariableStyle+ {-# LINE 4859 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 4864 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 4869 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 4874 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 4879 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOfuncName ->+ (case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of+ { ( _tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlIisSimpleExpression,_tlImtokenPos,_tlIscopes,_tlIvariableStyle,_tlIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIglobalDefinitions+ {-# LINE 4886 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _hdIidentifier _tlIidentifier)+ {-# LINE 4891 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIisInModule+ {-# LINE 4896 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIisSimpleExpression && _tlIisSimpleExpression+ {-# LINE 4901 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlImtokenPos+ {-# LINE 4906 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIscopes+ {-# LINE 4911 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIvariableStyle+ {-# LINE 4916 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIwarnings ++ _tlIwarnings+ {-# LINE 4921 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_ExprSuffixList_Cons_1)) of+ { ( sem_ExprSuffixList_1) ->+ ( _lhsOcopy,sem_ExprSuffixList_1) }) }) }) }) })+sem_ExprSuffixList_Nil :: T_ExprSuffixList+sem_ExprSuffixList_Nil =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 4932 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 4937 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_ExprSuffixList_Nil_1 :: T_ExprSuffixList_1+ sem_ExprSuffixList_Nil_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 4954 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 4959 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 4964 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 4969 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 4974 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 4979 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 4984 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 4989 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_ExprSuffixList_Nil_1)) of+ { ( sem_ExprSuffixList_1) ->+ ( _lhsOcopy,sem_ExprSuffixList_1) }) }) })+-- Field -------------------------------------------------------+-- cata+sem_Field :: Field ->+ T_Field+sem_Field (ExprField _key _value _sep) =+ (sem_Field_ExprField (sem_MExpr _key) (sem_MExpr _value) (sem_FieldSep _sep))+sem_Field (NamedField _key _value _sep) =+ (sem_Field_NamedField (sem_MToken _key) (sem_MExpr _value) (sem_FieldSep _sep))+sem_Field (UnnamedField _value _sep) =+ (sem_Field_UnnamedField (sem_MExpr _value) (sem_FieldSep _sep))+-- semantic domain+type T_Field = ( Field,T_Field_1)+type T_Field_1 = LintSettings ->+ (S.Set Token) ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (S.Set Token),(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_Field = Inh_Field {config_Inh_Field :: LintSettings,fieldNames_Inh_Field :: (S.Set Token),funcName_Inh_Field :: String,globalDefinitions_Inh_Field :: (M.Map String [Region]),isInModule_Inh_Field :: Bool,isMeta_Inh_Field :: Bool,loopLevel_Inh_Field :: Int,mtokenPos_Inh_Field :: Region,scopeLevel_Inh_Field :: Int,scopes_Inh_Field :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Field :: DeterminedVariableStyle}+data Syn_Field = Syn_Field {copy_Syn_Field :: Field,fieldNames_Syn_Field :: (S.Set Token),globalDefinitions_Syn_Field :: (M.Map String [Region]),identifier_Syn_Field :: String,isInModule_Syn_Field :: Bool,mtokenPos_Syn_Field :: Region,scopes_Syn_Field :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Field :: DeterminedVariableStyle,warnings_Syn_Field :: ([String -> LintMessage])}+wrap_Field :: T_Field ->+ Inh_Field ->+ Syn_Field+wrap_Field sem (Inh_Field _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_Field _lhsOcopy _lhsOfieldNames _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_Field_ExprField :: T_MExpr ->+ T_MExpr ->+ T_FieldSep ->+ T_Field+sem_Field_ExprField key_ value_ sep_ =+ (case (sep_) of+ { ( _sepIcopy,sep_1) ->+ (case (value_) of+ { ( _valueIcopy,_valueImtokenPos,value_1) ->+ (case (key_) of+ { ( _keyIcopy,_keyImtokenPos,key_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ExprField _keyIcopy _valueIcopy _sepIcopy+ {-# LINE 5042 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 5047 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Field_ExprField_1 :: T_Field_1+ sem_Field_ExprField_1 =+ (\ _lhsIconfig+ _lhsIfieldNames+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 164 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfieldNames+ {-# LINE 5065 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOfieldNames ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 5070 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 5075 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 5080 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOconfig ->+ (case (({-# LINE 630 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 5085 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 5090 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 5095 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 5100 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 5105 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 5110 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 5115 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 5120 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOfuncName ->+ (case (({-# LINE 629 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 5125 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOtopLevel ->+ (case (({-# LINE 628 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 5130 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOinParentheses ->+ (case (({-# LINE 627 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 5135 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOisNegation ->+ (case (key_1 _keyOconfig _keyOfuncName _keyOglobalDefinitions _keyOinParentheses _keyOisInModule _keyOisMeta _keyOisNegation _keyOloopLevel _keyOmtokenPos _keyOscopeLevel _keyOscopes _keyOtopLevel _keyOvarBeingDefined _keyOvariableStyle) of+ { ( _keyIglobalDefinitions,_keyIidentifier,_keyIisInModule,_keyIisSimpleExpression,_keyIisSingleVar,_keyIscopes,_keyIvariableStyle,_keyIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyIscopes+ {-# LINE 5142 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 5147 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyIisInModule+ {-# LINE 5152 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyIglobalDefinitions+ {-# LINE 5157 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 5162 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOconfig ->+ (case (({-# LINE 634 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 5167 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyIvariableStyle+ {-# LINE 5172 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 5177 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyImtokenPos+ {-# LINE 5182 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 5187 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 5192 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOfuncName ->+ (case (({-# LINE 633 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 5197 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOtopLevel ->+ (case (({-# LINE 632 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 5202 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOinParentheses ->+ (case (({-# LINE 631 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 5207 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOisNegation ->+ (case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of+ { ( _valueIglobalDefinitions,_valueIidentifier,_valueIisInModule,_valueIisSimpleExpression,_valueIisSingleVar,_valueIscopes,_valueIvariableStyle,_valueIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIglobalDefinitions+ {-# LINE 5214 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOglobalDefinitions ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIvariableStyle+ {-# LINE 5219 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIscopes+ {-# LINE 5224 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 5229 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueImtokenPos+ {-# LINE 5234 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 5239 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 5244 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIisInModule+ {-# LINE 5249 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOisInModule ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 5254 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 5259 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOconfig ->+ (case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of+ { ( _sepIglobalDefinitions,_sepIidentifier,_sepIisInModule,_sepImtokenPos,_sepIscopes,_sepIvariableStyle,_sepIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIglobalDefinitions+ {-# LINE 5266 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _keyIidentifier (const _valueIidentifier _sepIidentifier))+ {-# LINE 5271 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIisInModule+ {-# LINE 5276 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 626 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyImtokenPos+ {-# LINE 5281 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIscopes+ {-# LINE 5286 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIvariableStyle+ {-# LINE 5291 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyIwarnings ++ _valueIwarnings ++ _sepIwarnings+ {-# LINE 5296 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Field_ExprField_1)) of+ { ( sem_Field_1) ->+ ( _lhsOcopy,sem_Field_1) }) }) }) }) }) })+sem_Field_NamedField :: T_MToken ->+ T_MExpr ->+ T_FieldSep ->+ T_Field+sem_Field_NamedField key_ value_ sep_ =+ (case (sep_) of+ { ( _sepIcopy,sep_1) ->+ (case (value_) of+ { ( _valueIcopy,_valueImtokenPos,value_1) ->+ (case (key_) of+ { ( _keyIcopy,_keyImtok,_keyImtokenPos,key_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ NamedField _keyIcopy _valueIcopy _sepIcopy+ {-# LINE 5316 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 5321 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Field_NamedField_1 :: T_Field_1+ sem_Field_NamedField_1 =+ (\ _lhsIconfig+ _lhsIfieldNames+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 637 "src/GLuaFixer/AG/ASTLint.ag" #-}+ S.insert _keyImtok _lhsIfieldNames+ {-# LINE 5339 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOfieldNames ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 5344 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOscopes ->+ (case (({-# LINE 636 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyImtokenPos+ {-# LINE 5349 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _mtokenPos ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _mtokenPos+ {-# LINE 5354 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 5359 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 5364 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 5369 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 5374 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 5379 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _keyOconfig ->+ (case (key_1 _keyOconfig _keyOfuncName _keyOglobalDefinitions _keyOisInModule _keyOisMeta _keyOmtokenPos _keyOscopes) of+ { ( _keyIglobalDefinitions,_keyIidentifier,_keyIisInModule,_keyIscopes,_keyIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyIscopes+ {-# LINE 5386 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 5391 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyIisInModule+ {-# LINE 5396 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyIglobalDefinitions+ {-# LINE 5401 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 5406 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOconfig ->+ (case (({-# LINE 638 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 5411 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 5416 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 5421 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _mtokenPos+ {-# LINE 5426 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 5431 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 5436 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOfuncName ->+ (case (({-# LINE 641 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 5441 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOtopLevel ->+ (case (({-# LINE 640 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 5446 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOinParentheses ->+ (case (({-# LINE 639 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 5451 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOisNegation ->+ (case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of+ { ( _valueIglobalDefinitions,_valueIidentifier,_valueIisInModule,_valueIisSimpleExpression,_valueIisSingleVar,_valueIscopes,_valueIvariableStyle,_valueIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIglobalDefinitions+ {-# LINE 5458 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOglobalDefinitions ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIvariableStyle+ {-# LINE 5463 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIscopes+ {-# LINE 5468 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 5473 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _mtokenPos+ {-# LINE 5478 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 5483 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 5488 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIisInModule+ {-# LINE 5493 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOisInModule ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 5498 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 5503 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOconfig ->+ (case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of+ { ( _sepIglobalDefinitions,_sepIidentifier,_sepIisInModule,_sepImtokenPos,_sepIscopes,_sepIvariableStyle,_sepIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIglobalDefinitions+ {-# LINE 5510 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _keyIidentifier (const _valueIidentifier _sepIidentifier))+ {-# LINE 5515 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIisInModule+ {-# LINE 5520 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _mtokenPos+ {-# LINE 5525 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIscopes+ {-# LINE 5530 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIvariableStyle+ {-# LINE 5535 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 642 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _keyIwarnings ++ _valueIwarnings ++ _sepIwarnings+ {-# LINE 5540 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 642 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_duplicateTableKeys _lhsIconfig) || not (S.member _keyImtok _lhsIfieldNames) then id else+ (:) $ warn _keyImtokenPos $ DuplicateKeyInTable _keyImtok+ {-# LINE 5546 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 642 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 5551 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Field_NamedField_1)) of+ { ( sem_Field_1) ->+ ( _lhsOcopy,sem_Field_1) }) }) }) }) }) })+sem_Field_UnnamedField :: T_MExpr ->+ T_FieldSep ->+ T_Field+sem_Field_UnnamedField value_ sep_ =+ (case (sep_) of+ { ( _sepIcopy,sep_1) ->+ (case (value_) of+ { ( _valueIcopy,_valueImtokenPos,value_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ UnnamedField _valueIcopy _sepIcopy+ {-# LINE 5568 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 5573 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Field_UnnamedField_1 :: T_Field_1+ sem_Field_UnnamedField_1 =+ (\ _lhsIconfig+ _lhsIfieldNames+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 164 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfieldNames+ {-# LINE 5591 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOfieldNames ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 5596 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 5601 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 5606 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 5611 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 5616 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOconfig ->+ (case (({-# LINE 648 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 5621 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 5626 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 5631 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 5636 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 5641 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 5646 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOfuncName ->+ (case (({-# LINE 647 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 5651 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOtopLevel ->+ (case (({-# LINE 646 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 5656 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOinParentheses ->+ (case (({-# LINE 645 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 5661 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valueOisNegation ->+ (case (value_1 _valueOconfig _valueOfuncName _valueOglobalDefinitions _valueOinParentheses _valueOisInModule _valueOisMeta _valueOisNegation _valueOloopLevel _valueOmtokenPos _valueOscopeLevel _valueOscopes _valueOtopLevel _valueOvarBeingDefined _valueOvariableStyle) of+ { ( _valueIglobalDefinitions,_valueIidentifier,_valueIisInModule,_valueIisSimpleExpression,_valueIisSingleVar,_valueIscopes,_valueIvariableStyle,_valueIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIglobalDefinitions+ {-# LINE 5668 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOglobalDefinitions ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIvariableStyle+ {-# LINE 5673 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIscopes+ {-# LINE 5678 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 5683 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueImtokenPos+ {-# LINE 5688 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 5693 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 5698 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIisInModule+ {-# LINE 5703 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOisInModule ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 5708 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 5713 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _sepOconfig ->+ (case (sep_1 _sepOconfig _sepOfuncName _sepOglobalDefinitions _sepOisInModule _sepOisMeta _sepOloopLevel _sepOmtokenPos _sepOscopeLevel _sepOscopes _sepOvariableStyle) of+ { ( _sepIglobalDefinitions,_sepIidentifier,_sepIisInModule,_sepImtokenPos,_sepIscopes,_sepIvariableStyle,_sepIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIglobalDefinitions+ {-# LINE 5720 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _valueIidentifier _sepIidentifier)+ {-# LINE 5725 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIisInModule+ {-# LINE 5730 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepImtokenPos+ {-# LINE 5735 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIscopes+ {-# LINE 5740 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _sepIvariableStyle+ {-# LINE 5745 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valueIwarnings ++ _sepIwarnings+ {-# LINE 5750 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Field_UnnamedField_1)) of+ { ( sem_Field_1) ->+ ( _lhsOcopy,sem_Field_1) }) }) }) }) })+-- FieldList ---------------------------------------------------+-- cata+sem_FieldList :: FieldList ->+ T_FieldList+sem_FieldList list =+ (Prelude.foldr sem_FieldList_Cons sem_FieldList_Nil (Prelude.map sem_Field list))+-- semantic domain+type T_FieldList = ( FieldList,T_FieldList_1)+type T_FieldList_1 = LintSettings ->+ (S.Set Token) ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (S.Set Token),(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_FieldList = Inh_FieldList {config_Inh_FieldList :: LintSettings,fieldNames_Inh_FieldList :: (S.Set Token),funcName_Inh_FieldList :: String,globalDefinitions_Inh_FieldList :: (M.Map String [Region]),isInModule_Inh_FieldList :: Bool,isMeta_Inh_FieldList :: Bool,loopLevel_Inh_FieldList :: Int,mtokenPos_Inh_FieldList :: Region,scopeLevel_Inh_FieldList :: Int,scopes_Inh_FieldList :: ([M.Map String (Bool, Region)]),variableStyle_Inh_FieldList :: DeterminedVariableStyle}+data Syn_FieldList = Syn_FieldList {copy_Syn_FieldList :: FieldList,fieldNames_Syn_FieldList :: (S.Set Token),globalDefinitions_Syn_FieldList :: (M.Map String [Region]),identifier_Syn_FieldList :: String,isInModule_Syn_FieldList :: Bool,mtokenPos_Syn_FieldList :: Region,scopes_Syn_FieldList :: ([M.Map String (Bool, Region)]),variableStyle_Syn_FieldList :: DeterminedVariableStyle,warnings_Syn_FieldList :: ([String -> LintMessage])}+wrap_FieldList :: T_FieldList ->+ Inh_FieldList ->+ Syn_FieldList+wrap_FieldList sem (Inh_FieldList _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfieldNames _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_FieldList _lhsOcopy _lhsOfieldNames _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_FieldList_Cons :: T_Field ->+ T_FieldList ->+ T_FieldList+sem_FieldList_Cons hd_ tl_ =+ (case (tl_) of+ { ( _tlIcopy,tl_1) ->+ (case (hd_) of+ { ( _hdIcopy,hd_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 5796 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 5801 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_FieldList_Cons_1 :: T_FieldList_1+ sem_FieldList_Cons_1 =+ (\ _lhsIconfig+ _lhsIfieldNames+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 164 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfieldNames+ {-# LINE 5819 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOfieldNames ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 5824 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 5829 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 5834 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 5839 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 5844 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 5849 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 5854 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 5859 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 5864 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 5869 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOconfig ->+ (case (hd_1 _hdOconfig _hdOfieldNames _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of+ { ( _hdIfieldNames,_hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdImtokenPos,_hdIscopes,_hdIvariableStyle,_hdIwarnings) ->+ (case (({-# LINE 164 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIfieldNames+ {-# LINE 5876 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOfieldNames ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIvariableStyle+ {-# LINE 5881 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIscopes+ {-# LINE 5886 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 5891 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 5896 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 5901 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 5906 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIisInModule+ {-# LINE 5911 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIglobalDefinitions+ {-# LINE 5916 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 5921 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 5926 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOconfig ->+ (case (tl_1 _tlOconfig _tlOfieldNames _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of+ { ( _tlIfieldNames,_tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIvariableStyle,_tlIwarnings) ->+ (case (({-# LINE 164 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIfieldNames+ {-# LINE 5933 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOfieldNames ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIglobalDefinitions+ {-# LINE 5938 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _hdIidentifier _tlIidentifier)+ {-# LINE 5943 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIisInModule+ {-# LINE 5948 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 235 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 5953 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIscopes+ {-# LINE 5958 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIvariableStyle+ {-# LINE 5963 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIwarnings ++ _tlIwarnings+ {-# LINE 5968 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_FieldList_Cons_1)) of+ { ( sem_FieldList_1) ->+ ( _lhsOcopy,sem_FieldList_1) }) }) }) }) })+sem_FieldList_Nil :: T_FieldList+sem_FieldList_Nil =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 5979 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 5984 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_FieldList_Nil_1 :: T_FieldList_1+ sem_FieldList_Nil_1 =+ (\ _lhsIconfig+ _lhsIfieldNames+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 164 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfieldNames+ {-# LINE 6002 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOfieldNames ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 6007 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 6012 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 6017 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 6022 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 6027 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 6032 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 6037 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOfieldNames,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_FieldList_Nil_1)) of+ { ( sem_FieldList_1) ->+ ( _lhsOcopy,sem_FieldList_1) }) }) })+-- FieldSep ----------------------------------------------------+-- cata+sem_FieldSep :: FieldSep ->+ T_FieldSep+sem_FieldSep (CommaSep) =+ (sem_FieldSep_CommaSep)+sem_FieldSep (SemicolonSep) =+ (sem_FieldSep_SemicolonSep)+sem_FieldSep (NoSep) =+ (sem_FieldSep_NoSep)+-- semantic domain+type T_FieldSep = ( FieldSep,T_FieldSep_1)+type T_FieldSep_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_FieldSep = Inh_FieldSep {config_Inh_FieldSep :: LintSettings,funcName_Inh_FieldSep :: String,globalDefinitions_Inh_FieldSep :: (M.Map String [Region]),isInModule_Inh_FieldSep :: Bool,isMeta_Inh_FieldSep :: Bool,loopLevel_Inh_FieldSep :: Int,mtokenPos_Inh_FieldSep :: Region,scopeLevel_Inh_FieldSep :: Int,scopes_Inh_FieldSep :: ([M.Map String (Bool, Region)]),variableStyle_Inh_FieldSep :: DeterminedVariableStyle}+data Syn_FieldSep = Syn_FieldSep {copy_Syn_FieldSep :: FieldSep,globalDefinitions_Syn_FieldSep :: (M.Map String [Region]),identifier_Syn_FieldSep :: String,isInModule_Syn_FieldSep :: Bool,mtokenPos_Syn_FieldSep :: Region,scopes_Syn_FieldSep :: ([M.Map String (Bool, Region)]),variableStyle_Syn_FieldSep :: DeterminedVariableStyle,warnings_Syn_FieldSep :: ([String -> LintMessage])}+wrap_FieldSep :: T_FieldSep ->+ Inh_FieldSep ->+ Syn_FieldSep+wrap_FieldSep sem (Inh_FieldSep _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_FieldSep _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_FieldSep_CommaSep :: T_FieldSep+sem_FieldSep_CommaSep =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ CommaSep+ {-# LINE 6080 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 6085 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_FieldSep_CommaSep_1 :: T_FieldSep_1+ sem_FieldSep_CommaSep_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 6102 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 6107 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 6112 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 6117 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 6122 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 6127 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 6132 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_FieldSep_CommaSep_1)) of+ { ( sem_FieldSep_1) ->+ ( _lhsOcopy,sem_FieldSep_1) }) }) })+sem_FieldSep_SemicolonSep :: T_FieldSep+sem_FieldSep_SemicolonSep =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ SemicolonSep+ {-# LINE 6143 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 6148 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_FieldSep_SemicolonSep_1 :: T_FieldSep_1+ sem_FieldSep_SemicolonSep_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 6165 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 6170 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 6175 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 6180 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 6185 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 6190 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 6195 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_FieldSep_SemicolonSep_1)) of+ { ( sem_FieldSep_1) ->+ ( _lhsOcopy,sem_FieldSep_1) }) }) })+sem_FieldSep_NoSep :: T_FieldSep+sem_FieldSep_NoSep =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ NoSep+ {-# LINE 6206 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 6211 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_FieldSep_NoSep_1 :: T_FieldSep_1+ sem_FieldSep_NoSep_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 6228 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 6233 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 6238 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 6243 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 6248 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 6253 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 6258 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_FieldSep_NoSep_1)) of+ { ( sem_FieldSep_1) ->+ ( _lhsOcopy,sem_FieldSep_1) }) }) })+-- FuncName ----------------------------------------------------+-- cata+sem_FuncName :: FuncName ->+ T_FuncName+sem_FuncName (FuncName _names _meta) =+ (sem_FuncName_FuncName _names _meta)+-- semantic domain+type T_FuncName = ( FuncName,Bool,T_FuncName_1)+type T_FuncName_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),Bool,String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_FuncName = Inh_FuncName {config_Inh_FuncName :: LintSettings,funcName_Inh_FuncName :: String,globalDefinitions_Inh_FuncName :: (M.Map String [Region]),isInModule_Inh_FuncName :: Bool,isMeta_Inh_FuncName :: Bool,loopLevel_Inh_FuncName :: Int,mtokenPos_Inh_FuncName :: Region,scopeLevel_Inh_FuncName :: Int,scopes_Inh_FuncName :: ([M.Map String (Bool, Region)]),variableStyle_Inh_FuncName :: DeterminedVariableStyle}+data Syn_FuncName = Syn_FuncName {copy_Syn_FuncName :: FuncName,globalDefinitions_Syn_FuncName :: (M.Map String [Region]),hasSuffixes_Syn_FuncName :: Bool,identifier_Syn_FuncName :: String,isInModule_Syn_FuncName :: Bool,isMeta_Syn_FuncName :: Bool,mtokenPos_Syn_FuncName :: Region,scopes_Syn_FuncName :: ([M.Map String (Bool, Region)]),variableStyle_Syn_FuncName :: DeterminedVariableStyle,warnings_Syn_FuncName :: ([String -> LintMessage])}+wrap_FuncName :: T_FuncName ->+ Inh_FuncName ->+ Syn_FuncName+wrap_FuncName sem (Inh_FuncName _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,_lhsOisMeta,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOhasSuffixes,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_FuncName _lhsOcopy _lhsOglobalDefinitions _lhsOhasSuffixes _lhsOidentifier _lhsOisInModule _lhsOisMeta _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_FuncName_FuncName :: ([MToken]) ->+ (Maybe MToken) ->+ T_FuncName+sem_FuncName_FuncName names_ meta_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ FuncName names_ meta_+ {-# LINE 6299 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 6304 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 514 "src/GLuaFixer/AG/ASTLint.ag" #-}+ isJust meta_+ {-# LINE 6309 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisMeta ->+ (case ((let sem_FuncName_FuncName_1 :: T_FuncName_1+ sem_FuncName_FuncName_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 6326 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 515 "src/GLuaFixer/AG/ASTLint.ag" #-}+ length names_ > 1+ {-# LINE 6331 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOhasSuffixes ->+ (case (({-# LINE 513 "src/GLuaFixer/AG/ASTLint.ag" #-}+ tokenLabel . head $ names_+ {-# LINE 6336 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 6341 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 512 "src/GLuaFixer/AG/ASTLint.ag" #-}+ mpos (head names_)+ {-# LINE 6346 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 6351 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 6356 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 6361 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOhasSuffixes,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_FuncName_FuncName_1)) of+ { ( sem_FuncName_1) ->+ ( _lhsOcopy,_lhsOisMeta,sem_FuncName_1) }) }) }) })+-- MElse -------------------------------------------------------+-- cata+sem_MElse :: MElse ->+ T_MElse+sem_MElse (MElse _pos _body) =+ (sem_MElse_MElse _pos (sem_Block _body))+-- semantic domain+type T_MElse = ( MElse,T_MElse_1)+type T_MElse_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( Bool,(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),Int,DeterminedVariableStyle,([String -> LintMessage]))+data Inh_MElse = Inh_MElse {config_Inh_MElse :: LintSettings,funcName_Inh_MElse :: String,globalDefinitions_Inh_MElse :: (M.Map String [Region]),isInModule_Inh_MElse :: Bool,isMeta_Inh_MElse :: Bool,loopLevel_Inh_MElse :: Int,mtokenPos_Inh_MElse :: Region,scopeLevel_Inh_MElse :: Int,scopes_Inh_MElse :: ([M.Map String (Bool, Region)]),variableStyle_Inh_MElse :: DeterminedVariableStyle}+data Syn_MElse = Syn_MElse {copy_Syn_MElse :: MElse,elseExists_Syn_MElse :: Bool,globalDefinitions_Syn_MElse :: (M.Map String [Region]),identifier_Syn_MElse :: String,isInModule_Syn_MElse :: Bool,mtokenPos_Syn_MElse :: Region,scopes_Syn_MElse :: ([M.Map String (Bool, Region)]),statementCount_Syn_MElse :: Int,variableStyle_Syn_MElse :: DeterminedVariableStyle,warnings_Syn_MElse :: ([String -> LintMessage])}+wrap_MElse :: T_MElse ->+ Inh_MElse ->+ Syn_MElse+wrap_MElse sem (Inh_MElse _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_MElse _lhsOcopy _lhsOelseExists _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings))+sem_MElse_MElse :: Region ->+ T_Block ->+ T_MElse+sem_MElse_MElse pos_ body_ =+ (case (body_) of+ { ( _bodyIcopy,body_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ MElse pos_ _bodyIcopy+ {-# LINE 6404 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 6409 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_MElse_MElse_1 :: T_MElse_1+ sem_MElse_MElse_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 203 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 6426 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOelseExists ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 6431 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 6436 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 6441 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 6446 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 6451 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 6456 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 6461 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 6466 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 6471 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 6476 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOfuncName ->+ (case (({-# LINE 492 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 6481 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisRepeat ->+ (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of+ { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIglobalDefinitions+ {-# LINE 6488 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIidentifier+ {-# LINE 6493 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIisInModule+ {-# LINE 6498 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 493 "src/GLuaFixer/AG/ASTLint.ag" #-}+ pos_+ {-# LINE 6503 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIscopes+ {-# LINE 6508 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 158 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIstatementCount+ {-# LINE 6513 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOstatementCount ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIvariableStyle+ {-# LINE 6518 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIwarnings+ {-# LINE 6523 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOelseExists,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_MElse_MElse_1)) of+ { ( sem_MElse_1) ->+ ( _lhsOcopy,sem_MElse_1) }) }) }) })+-- MElseIf -----------------------------------------------------+-- cata+sem_MElseIf :: MElseIf ->+ T_MElseIf+sem_MElseIf (MElseIf _pos _elif) =+ (sem_MElseIf_MElseIf _pos (sem_ElseIf _elif))+-- semantic domain+type T_MElseIf = ( MElseIf,T_MElseIf_1)+type T_MElseIf_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_MElseIf = Inh_MElseIf {config_Inh_MElseIf :: LintSettings,funcName_Inh_MElseIf :: String,globalDefinitions_Inh_MElseIf :: (M.Map String [Region]),isInModule_Inh_MElseIf :: Bool,isMeta_Inh_MElseIf :: Bool,loopLevel_Inh_MElseIf :: Int,mtokenPos_Inh_MElseIf :: Region,scopeLevel_Inh_MElseIf :: Int,scopes_Inh_MElseIf :: ([M.Map String (Bool, Region)]),variableStyle_Inh_MElseIf :: DeterminedVariableStyle}+data Syn_MElseIf = Syn_MElseIf {copy_Syn_MElseIf :: MElseIf,globalDefinitions_Syn_MElseIf :: (M.Map String [Region]),identifier_Syn_MElseIf :: String,isInModule_Syn_MElseIf :: Bool,mtokenPos_Syn_MElseIf :: Region,scopes_Syn_MElseIf :: ([M.Map String (Bool, Region)]),variableStyle_Syn_MElseIf :: DeterminedVariableStyle,warnings_Syn_MElseIf :: ([String -> LintMessage])}+wrap_MElseIf :: T_MElseIf ->+ Inh_MElseIf ->+ Syn_MElseIf+wrap_MElseIf sem (Inh_MElseIf _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_MElseIf _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_MElseIf_MElseIf :: Region ->+ T_ElseIf ->+ T_MElseIf+sem_MElseIf_MElseIf pos_ elif_ =+ (case (elif_) of+ { ( _elifIcopy,elif_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ MElseIf pos_ _elifIcopy+ {-# LINE 6566 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 6571 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_MElseIf_MElseIf_1 :: T_MElseIf_1+ sem_MElseIf_MElseIf_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 6588 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 6593 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 6598 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 6603 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 6608 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 6613 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 6618 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifOscopeLevel ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 6623 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 6628 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifOfuncName ->+ (case (({-# LINE 476 "src/GLuaFixer/AG/ASTLint.ag" #-}+ pos_+ {-# LINE 6633 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifOmtokenPos ->+ (case (elif_1 _elifOconfig _elifOfuncName _elifOglobalDefinitions _elifOisInModule _elifOisMeta _elifOloopLevel _elifOmtokenPos _elifOscopeLevel _elifOscopes _elifOvariableStyle) of+ { ( _elifIglobalDefinitions,_elifIidentifier,_elifIisInModule,_elifImtokenPos,_elifIscopes,_elifIvariableStyle,_elifIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elifIglobalDefinitions+ {-# LINE 6640 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elifIidentifier+ {-# LINE 6645 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elifIisInModule+ {-# LINE 6650 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 477 "src/GLuaFixer/AG/ASTLint.ag" #-}+ pos_+ {-# LINE 6655 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elifIscopes+ {-# LINE 6660 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elifIvariableStyle+ {-# LINE 6665 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elifIwarnings+ {-# LINE 6670 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_MElseIf_MElseIf_1)) of+ { ( sem_MElseIf_1) ->+ ( _lhsOcopy,sem_MElseIf_1) }) }) }) })+-- MExpr -------------------------------------------------------+-- cata+sem_MExpr :: MExpr ->+ T_MExpr+sem_MExpr (MExpr _pos _expr) =+ (sem_MExpr_MExpr _pos (sem_Expr _expr))+-- semantic domain+type T_MExpr = ( MExpr,Region,T_MExpr_1)+type T_MExpr_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ Bool ->+ (Maybe MToken) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Bool,(Maybe MToken),([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_MExpr = Inh_MExpr {config_Inh_MExpr :: LintSettings,funcName_Inh_MExpr :: String,globalDefinitions_Inh_MExpr :: (M.Map String [Region]),inParentheses_Inh_MExpr :: Bool,isInModule_Inh_MExpr :: Bool,isMeta_Inh_MExpr :: Bool,isNegation_Inh_MExpr :: Bool,loopLevel_Inh_MExpr :: Int,mtokenPos_Inh_MExpr :: Region,scopeLevel_Inh_MExpr :: Int,scopes_Inh_MExpr :: ([M.Map String (Bool, Region)]),topLevel_Inh_MExpr :: Bool,varBeingDefined_Inh_MExpr :: (Maybe MToken),variableStyle_Inh_MExpr :: DeterminedVariableStyle}+data Syn_MExpr = Syn_MExpr {copy_Syn_MExpr :: MExpr,globalDefinitions_Syn_MExpr :: (M.Map String [Region]),identifier_Syn_MExpr :: String,isInModule_Syn_MExpr :: Bool,isSimpleExpression_Syn_MExpr :: Bool,isSingleVar_Syn_MExpr :: (Maybe MToken),mtokenPos_Syn_MExpr :: Region,scopes_Syn_MExpr :: ([M.Map String (Bool, Region)]),variableStyle_Syn_MExpr :: DeterminedVariableStyle,warnings_Syn_MExpr :: ([String -> LintMessage])}+wrap_MExpr :: T_MExpr ->+ Inh_MExpr ->+ Syn_MExpr+wrap_MExpr sem (Inh_MExpr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =+ (let ( _lhsOcopy,_lhsOmtokenPos,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle+ in (Syn_MExpr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_MExpr_MExpr :: Region ->+ T_Expr ->+ T_MExpr+sem_MExpr_MExpr pos_ expr_ =+ (case (expr_) of+ { ( _exprIcopy,expr_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ MExpr pos_ _exprIcopy+ {-# LINE 6717 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 6722 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 570 "src/GLuaFixer/AG/ASTLint.ag" #-}+ pos_+ {-# LINE 6727 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case ((let sem_MExpr_MExpr_1 :: T_MExpr_1+ sem_MExpr_MExpr_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 179 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvarBeingDefined+ {-# LINE 6748 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOvarBeingDefined ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 6753 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 6758 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 6763 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 6768 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 6773 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 6778 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOvariableStyle ->+ (case (({-# LINE 183 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsItopLevel+ {-# LINE 6783 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOtopLevel ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 6788 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOscopeLevel ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 6793 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOloopLevel ->+ (case (({-# LINE 170 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisNegation+ {-# LINE 6798 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOisNegation ->+ (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIinParentheses+ {-# LINE 6803 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOinParentheses ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 6808 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOfuncName ->+ (case (({-# LINE 571 "src/GLuaFixer/AG/ASTLint.ag" #-}+ pos_+ {-# LINE 6813 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOmtokenPos ->+ (case (expr_1 _exprOconfig _exprOfuncName _exprOglobalDefinitions _exprOinParentheses _exprOisInModule _exprOisMeta _exprOisNegation _exprOloopLevel _exprOmtokenPos _exprOscopeLevel _exprOscopes _exprOtopLevel _exprOvarBeingDefined _exprOvariableStyle) of+ { ( _exprIglobalDefinitions,_exprIidentifier,_exprIisInModule,_exprIisSimpleExpression,_exprIisSingleVar,_exprImtokenPos,_exprIscopes,_exprIvariableStyle,_exprIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIglobalDefinitions+ {-# LINE 6820 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIidentifier+ {-# LINE 6825 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIisInModule+ {-# LINE 6830 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIisSimpleExpression+ {-# LINE 6835 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIisSingleVar+ {-# LINE 6840 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIscopes+ {-# LINE 6845 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIvariableStyle+ {-# LINE 6850 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIwarnings+ {-# LINE 6855 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_MExpr_MExpr_1)) of+ { ( sem_MExpr_1) ->+ ( _lhsOcopy,_lhsOmtokenPos,sem_MExpr_1) }) }) }) }) })+-- MExprList ---------------------------------------------------+-- cata+sem_MExprList :: MExprList ->+ T_MExprList+sem_MExprList list =+ (Prelude.foldr sem_MExprList_Cons sem_MExprList_Nil (Prelude.map sem_MExpr list))+-- semantic domain+type T_MExprList = ( MExprList,T_MExprList_1)+type T_MExprList_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ Bool ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_MExprList = Inh_MExprList {config_Inh_MExprList :: LintSettings,funcName_Inh_MExprList :: String,globalDefinitions_Inh_MExprList :: (M.Map String [Region]),inParentheses_Inh_MExprList :: Bool,isInModule_Inh_MExprList :: Bool,isMeta_Inh_MExprList :: Bool,loopLevel_Inh_MExprList :: Int,mtokenPos_Inh_MExprList :: Region,scopeLevel_Inh_MExprList :: Int,scopes_Inh_MExprList :: ([M.Map String (Bool, Region)]),topLevel_Inh_MExprList :: Bool,variableStyle_Inh_MExprList :: DeterminedVariableStyle}+data Syn_MExprList = Syn_MExprList {copy_Syn_MExprList :: MExprList,globalDefinitions_Syn_MExprList :: (M.Map String [Region]),identifier_Syn_MExprList :: String,isInModule_Syn_MExprList :: Bool,mtokenPos_Syn_MExprList :: Region,scopes_Syn_MExprList :: ([M.Map String (Bool, Region)]),variableStyle_Syn_MExprList :: DeterminedVariableStyle,warnings_Syn_MExprList :: ([String -> LintMessage])}+wrap_MExprList :: T_MExprList ->+ Inh_MExprList ->+ Syn_MExprList+wrap_MExprList sem (Inh_MExprList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvariableStyle+ in (Syn_MExprList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_MExprList_Cons :: T_MExpr ->+ T_MExprList ->+ T_MExprList+sem_MExprList_Cons hd_ tl_ =+ (case (tl_) of+ { ( _tlIcopy,tl_1) ->+ (case (hd_) of+ { ( _hdIcopy,_hdImtokenPos,hd_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 6902 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 6907 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_MExprList_Cons_1 :: T_MExprList_1+ sem_MExprList_Cons_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 6926 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 6931 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 6936 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOconfig ->+ (case (({-# LINE 246 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 6941 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 6946 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOvariableStyle ->+ (case (({-# LINE 183 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsItopLevel+ {-# LINE 6951 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOtopLevel ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 6956 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 6961 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 6966 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 6971 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisInModule ->+ (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIinParentheses+ {-# LINE 6976 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOinParentheses ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 6981 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 6986 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOfuncName ->+ (case (({-# LINE 245 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 6991 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisNegation ->+ (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOinParentheses _hdOisInModule _hdOisMeta _hdOisNegation _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOtopLevel _hdOvarBeingDefined _hdOvariableStyle) of+ { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdIisSimpleExpression,_hdIisSingleVar,_hdIscopes,_hdIvariableStyle,_hdIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIscopes+ {-# LINE 6998 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 7003 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIisInModule+ {-# LINE 7008 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIglobalDefinitions+ {-# LINE 7013 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 7018 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIvariableStyle+ {-# LINE 7023 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOvariableStyle ->+ (case (({-# LINE 183 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsItopLevel+ {-# LINE 7028 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOtopLevel ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 7033 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 7038 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 7043 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOloopLevel ->+ (case (({-# LINE 182 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIinParentheses+ {-# LINE 7048 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOinParentheses ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 7053 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOfuncName ->+ (case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOinParentheses _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOtopLevel _tlOvariableStyle) of+ { ( _tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIvariableStyle,_tlIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIglobalDefinitions+ {-# LINE 7060 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _hdIidentifier _tlIidentifier)+ {-# LINE 7065 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIisInModule+ {-# LINE 7070 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 235 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 7075 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIscopes+ {-# LINE 7080 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIvariableStyle+ {-# LINE 7085 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIwarnings ++ _tlIwarnings+ {-# LINE 7090 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_MExprList_Cons_1)) of+ { ( sem_MExprList_1) ->+ ( _lhsOcopy,sem_MExprList_1) }) }) }) }) })+sem_MExprList_Nil :: T_MExprList+sem_MExprList_Nil =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 7101 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 7106 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_MExprList_Nil_1 :: T_MExprList_1+ sem_MExprList_Nil_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 7125 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 7130 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 7135 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 7140 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 7145 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 7150 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 7155 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_MExprList_Nil_1)) of+ { ( sem_MExprList_1) ->+ ( _lhsOcopy,sem_MExprList_1) }) }) })+-- MStat -------------------------------------------------------+-- cata+sem_MStat :: MStat ->+ T_MStat+sem_MStat (MStat _pos _stat) =+ (sem_MStat_MStat _pos (sem_Stat _stat))+-- semantic domain+type T_MStat = ( MStat,T_MStat_1)+type T_MStat_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),Int,DeterminedVariableStyle,([String -> LintMessage]))+data Inh_MStat = Inh_MStat {config_Inh_MStat :: LintSettings,funcName_Inh_MStat :: String,globalDefinitions_Inh_MStat :: (M.Map String [Region]),isInModule_Inh_MStat :: Bool,isMeta_Inh_MStat :: Bool,loopLevel_Inh_MStat :: Int,mtokenPos_Inh_MStat :: Region,scopeLevel_Inh_MStat :: Int,scopes_Inh_MStat :: ([M.Map String (Bool, Region)]),variableStyle_Inh_MStat :: DeterminedVariableStyle}+data Syn_MStat = Syn_MStat {copy_Syn_MStat :: MStat,globalDefinitions_Syn_MStat :: (M.Map String [Region]),identifier_Syn_MStat :: String,isIfStatement_Syn_MStat :: Bool,isInModule_Syn_MStat :: Bool,mtokenPos_Syn_MStat :: Region,scopes_Syn_MStat :: ([M.Map String (Bool, Region)]),statementCount_Syn_MStat :: Int,variableStyle_Syn_MStat :: DeterminedVariableStyle,warnings_Syn_MStat :: ([String -> LintMessage])}+wrap_MStat :: T_MStat ->+ Inh_MStat ->+ Syn_MStat+wrap_MStat sem (Inh_MStat _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_MStat _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings))+sem_MStat_MStat :: Region ->+ T_Stat ->+ T_MStat+sem_MStat_MStat pos_ stat_ =+ (case (stat_) of+ { ( _statIcopy,stat_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ MStat pos_ _statIcopy+ {-# LINE 7198 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 7203 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_MStat_MStat_1 :: T_MStat_1+ sem_MStat_MStat_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 7220 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 7225 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 7230 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 7235 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 7240 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 7245 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 7250 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statOscopeLevel ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 7255 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 7260 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statOfuncName ->+ (case (({-# LINE 310 "src/GLuaFixer/AG/ASTLint.ag" #-}+ pos_+ {-# LINE 7265 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _statOmtokenPos ->+ (case (stat_1 _statOconfig _statOfuncName _statOglobalDefinitions _statOisInModule _statOisMeta _statOloopLevel _statOmtokenPos _statOscopeLevel _statOscopes _statOvariableStyle) of+ { ( _statIglobalDefinitions,_statIidentifier,_statIisIfStatement,_statIisInModule,_statImtokenPos,_statIscopes,_statIvariableStyle,_statIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statIglobalDefinitions+ {-# LINE 7272 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statIidentifier+ {-# LINE 7277 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statIisIfStatement+ {-# LINE 7282 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statIisInModule+ {-# LINE 7287 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 309 "src/GLuaFixer/AG/ASTLint.ag" #-}+ pos_+ {-# LINE 7292 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statIscopes+ {-# LINE 7297 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 158 "src/GLuaFixer/AG/ASTLint.ag" #-}+ 1+ {-# LINE 7302 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOstatementCount ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statIvariableStyle+ {-# LINE 7307 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _statIwarnings+ {-# LINE 7312 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_MStat_MStat_1)) of+ { ( sem_MStat_1) ->+ ( _lhsOcopy,sem_MStat_1) }) }) }) })+-- MStatList ---------------------------------------------------+-- cata+sem_MStatList :: MStatList ->+ T_MStatList+sem_MStatList list =+ (Prelude.foldr sem_MStatList_Cons sem_MStatList_Nil (Prelude.map sem_MStat list))+-- semantic domain+type T_MStatList = ( MStatList,T_MStatList_1)+type T_MStatList_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),Int,DeterminedVariableStyle,([String -> LintMessage]))+data Inh_MStatList = Inh_MStatList {config_Inh_MStatList :: LintSettings,funcName_Inh_MStatList :: String,globalDefinitions_Inh_MStatList :: (M.Map String [Region]),isInModule_Inh_MStatList :: Bool,isMeta_Inh_MStatList :: Bool,loopLevel_Inh_MStatList :: Int,mtokenPos_Inh_MStatList :: Region,scopeLevel_Inh_MStatList :: Int,scopes_Inh_MStatList :: ([M.Map String (Bool, Region)]),variableStyle_Inh_MStatList :: DeterminedVariableStyle}+data Syn_MStatList = Syn_MStatList {copy_Syn_MStatList :: MStatList,globalDefinitions_Syn_MStatList :: (M.Map String [Region]),identifier_Syn_MStatList :: String,isIfStatement_Syn_MStatList :: Bool,isInModule_Syn_MStatList :: Bool,mtokenPos_Syn_MStatList :: Region,scopes_Syn_MStatList :: ([M.Map String (Bool, Region)]),statementCount_Syn_MStatList :: Int,variableStyle_Syn_MStatList :: DeterminedVariableStyle,warnings_Syn_MStatList :: ([String -> LintMessage])}+wrap_MStatList :: T_MStatList ->+ Inh_MStatList ->+ Syn_MStatList+wrap_MStatList sem (Inh_MStatList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_MStatList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOstatementCount _lhsOvariableStyle _lhsOwarnings))+sem_MStatList_Cons :: T_MStat ->+ T_MStatList ->+ T_MStatList+sem_MStatList_Cons hd_ tl_ =+ (case (tl_) of+ { ( _tlIcopy,tl_1) ->+ (case (hd_) of+ { ( _hdIcopy,hd_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 7357 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 7362 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_MStatList_Cons_1 :: T_MStatList_1+ sem_MStatList_Cons_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 7379 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 7384 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 7389 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 7394 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 7399 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 7404 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 7409 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 7414 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 7419 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 7424 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOfuncName ->+ (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of+ { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisIfStatement,_hdIisInModule,_hdImtokenPos,_hdIscopes,_hdIstatementCount,_hdIvariableStyle,_hdIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIscopes+ {-# LINE 7431 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 7436 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIisInModule+ {-# LINE 7441 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIglobalDefinitions+ {-# LINE 7446 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 7451 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIvariableStyle+ {-# LINE 7456 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 7461 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 7466 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 7471 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 7476 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOfuncName ->+ (case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of+ { ( _tlIglobalDefinitions,_tlIidentifier,_tlIisIfStatement,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIstatementCount,_tlIvariableStyle,_tlIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIglobalDefinitions+ {-# LINE 7483 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _hdIidentifier _tlIidentifier)+ {-# LINE 7488 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIisIfStatement || _tlIisIfStatement+ {-# LINE 7493 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIisInModule+ {-# LINE 7498 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 235 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 7503 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIscopes+ {-# LINE 7508 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 158 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIstatementCount + _tlIstatementCount+ {-# LINE 7513 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOstatementCount ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIvariableStyle+ {-# LINE 7518 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIwarnings ++ _tlIwarnings+ {-# LINE 7523 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_MStatList_Cons_1)) of+ { ( sem_MStatList_1) ->+ ( _lhsOcopy,sem_MStatList_1) }) }) }) }) })+sem_MStatList_Nil :: T_MStatList+sem_MStatList_Nil =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 7534 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 7539 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_MStatList_Nil_1 :: T_MStatList_1+ sem_MStatList_Nil_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 7556 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 7561 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 7566 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 7571 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 7576 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 7581 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 241 "src/GLuaFixer/AG/ASTLint.ag" #-}+ 0+ {-# LINE 7586 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOstatementCount ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 7591 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 7596 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOstatementCount,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }))+ in sem_MStatList_Nil_1)) of+ { ( sem_MStatList_1) ->+ ( _lhsOcopy,sem_MStatList_1) }) }) })+-- MToken ------------------------------------------------------+-- cata+sem_MToken :: MToken ->+ T_MToken+sem_MToken (MToken _mpos _mtok) =+ (sem_MToken_MToken _mpos (sem_Token _mtok))+-- semantic domain+type T_MToken = ( MToken,Token,Region,T_MToken_1)+type T_MToken_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Region ->+ ([M.Map String (Bool, Region)]) ->+ ( (M.Map String [Region]),String,Bool,([M.Map String (Bool, Region)]),([String -> LintMessage]))+data Inh_MToken = Inh_MToken {config_Inh_MToken :: LintSettings,funcName_Inh_MToken :: String,globalDefinitions_Inh_MToken :: (M.Map String [Region]),isInModule_Inh_MToken :: Bool,isMeta_Inh_MToken :: Bool,mtokenPos_Inh_MToken :: Region,scopes_Inh_MToken :: ([M.Map String (Bool, Region)])}+data Syn_MToken = Syn_MToken {copy_Syn_MToken :: MToken,globalDefinitions_Syn_MToken :: (M.Map String [Region]),identifier_Syn_MToken :: String,isInModule_Syn_MToken :: Bool,mtok_Syn_MToken :: Token,mtokenPos_Syn_MToken :: Region,scopes_Syn_MToken :: ([M.Map String (Bool, Region)]),warnings_Syn_MToken :: ([String -> LintMessage])}+wrap_MToken :: T_MToken ->+ Inh_MToken ->+ Syn_MToken+wrap_MToken sem (Inh_MToken _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes) =+ (let ( _lhsOcopy,_lhsOmtok,_lhsOmtokenPos,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOscopes,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes+ in (Syn_MToken _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtok _lhsOmtokenPos _lhsOscopes _lhsOwarnings))+sem_MToken_MToken :: Region ->+ T_Token ->+ T_MToken+sem_MToken_MToken mpos_ mtok_ =+ (case (mtok_) of+ { ( _mtokIcopy,_mtokIidentifier,_mtokIwarnings) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ MToken mpos_ _mtokIcopy+ {-# LINE 7636 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 7641 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 228 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _mtokIcopy+ {-# LINE 7646 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtok ->+ (case (({-# LINE 227 "src/GLuaFixer/AG/ASTLint.ag" #-}+ mpos_+ {-# LINE 7651 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case ((let sem_MToken_MToken_1 :: T_MToken_1+ sem_MToken_MToken_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsImtokenPos+ _lhsIscopes ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 7665 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 229 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _mtokIidentifier+ {-# LINE 7670 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 7675 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 7680 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 230 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _mtokIwarnings+ {-# LINE 7685 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 230 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_goto_identifier _lhsIconfig) || _mtokIidentifier /= "goto" then id else+ (:) $ warn mpos_ GotoAsIdentifier+ {-# LINE 7691 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 230 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 7696 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOscopes,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_MToken_MToken_1)) of+ { ( sem_MToken_1) ->+ ( _lhsOcopy,_lhsOmtok,_lhsOmtokenPos,sem_MToken_1) }) }) }) }) }) })+-- MTokenList --------------------------------------------------+-- cata+sem_MTokenList :: MTokenList ->+ T_MTokenList+sem_MTokenList list =+ (Prelude.foldr sem_MTokenList_Cons sem_MTokenList_Nil (Prelude.map sem_MToken list))+-- semantic domain+type T_MTokenList = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Region ->+ ([M.Map String (Bool, Region)]) ->+ ( MTokenList,(M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),([String -> LintMessage]))+data Inh_MTokenList = Inh_MTokenList {config_Inh_MTokenList :: LintSettings,funcName_Inh_MTokenList :: String,globalDefinitions_Inh_MTokenList :: (M.Map String [Region]),isInModule_Inh_MTokenList :: Bool,isMeta_Inh_MTokenList :: Bool,mtokenPos_Inh_MTokenList :: Region,scopes_Inh_MTokenList :: ([M.Map String (Bool, Region)])}+data Syn_MTokenList = Syn_MTokenList {copy_Syn_MTokenList :: MTokenList,globalDefinitions_Syn_MTokenList :: (M.Map String [Region]),identifier_Syn_MTokenList :: String,isInModule_Syn_MTokenList :: Bool,mtokenPos_Syn_MTokenList :: Region,scopes_Syn_MTokenList :: ([M.Map String (Bool, Region)]),warnings_Syn_MTokenList :: ([String -> LintMessage])}+wrap_MTokenList :: T_MTokenList ->+ Inh_MTokenList ->+ Syn_MTokenList+wrap_MTokenList sem (Inh_MTokenList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes) =+ (let ( _lhsOcopy,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOwarnings) = sem _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsImtokenPos _lhsIscopes+ in (Syn_MTokenList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOwarnings))+sem_MTokenList_Cons :: T_MToken ->+ T_MTokenList ->+ T_MTokenList+sem_MTokenList_Cons hd_ tl_ =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsImtokenPos+ _lhsIscopes ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 7739 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopes ->+ (case (hd_) of+ { ( _hdIcopy,_hdImtok,_hdImtokenPos,hd_1) ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 7746 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 7751 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 7756 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 7761 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 7766 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 7771 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOconfig ->+ (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOmtokenPos _hdOscopes) of+ { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdIscopes,_hdIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIscopes+ {-# LINE 7778 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopes ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 7783 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 7788 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIisInModule+ {-# LINE 7793 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIglobalDefinitions+ {-# LINE 7798 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 7803 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 7808 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOconfig ->+ (case (tl_ _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOmtokenPos _tlOscopes) of+ { ( _tlIcopy,_tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIwarnings) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 7815 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 7820 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIglobalDefinitions+ {-# LINE 7825 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _hdIidentifier _tlIidentifier)+ {-# LINE 7830 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIisInModule+ {-# LINE 7835 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 235 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 7840 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIscopes+ {-# LINE 7845 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIwarnings ++ _tlIwarnings+ {-# LINE 7850 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+sem_MTokenList_Nil :: T_MTokenList+sem_MTokenList_Nil =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsImtokenPos+ _lhsIscopes ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 7865 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 7870 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 7875 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 7880 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 7885 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 7890 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 7895 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 7900 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOwarnings) }) }) }) }) }) }) }) }))+-- MaybeMExpr --------------------------------------------------+-- cata+sem_MaybeMExpr :: MaybeMExpr ->+ T_MaybeMExpr+sem_MaybeMExpr (Prelude.Just x) =+ (sem_MaybeMExpr_Just (sem_MExpr x))+sem_MaybeMExpr Prelude.Nothing =+ sem_MaybeMExpr_Nothing+-- semantic domain+type T_MaybeMExpr = ( MaybeMExpr,T_MaybeMExpr_1)+type T_MaybeMExpr_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ (Maybe MToken) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,(Maybe MToken),Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_MaybeMExpr = Inh_MaybeMExpr {config_Inh_MaybeMExpr :: LintSettings,funcName_Inh_MaybeMExpr :: String,globalDefinitions_Inh_MaybeMExpr :: (M.Map String [Region]),isInModule_Inh_MaybeMExpr :: Bool,isMeta_Inh_MaybeMExpr :: Bool,isNegation_Inh_MaybeMExpr :: Bool,loopLevel_Inh_MaybeMExpr :: Int,mtokenPos_Inh_MaybeMExpr :: Region,scopeLevel_Inh_MaybeMExpr :: Int,scopes_Inh_MaybeMExpr :: ([M.Map String (Bool, Region)]),varBeingDefined_Inh_MaybeMExpr :: (Maybe MToken),variableStyle_Inh_MaybeMExpr :: DeterminedVariableStyle}+data Syn_MaybeMExpr = Syn_MaybeMExpr {copy_Syn_MaybeMExpr :: MaybeMExpr,globalDefinitions_Syn_MaybeMExpr :: (M.Map String [Region]),identifier_Syn_MaybeMExpr :: String,isInModule_Syn_MaybeMExpr :: Bool,isSingleVar_Syn_MaybeMExpr :: (Maybe MToken),mtokenPos_Syn_MaybeMExpr :: Region,scopes_Syn_MaybeMExpr :: ([M.Map String (Bool, Region)]),variableStyle_Syn_MaybeMExpr :: DeterminedVariableStyle,warnings_Syn_MaybeMExpr :: ([String -> LintMessage])}+wrap_MaybeMExpr :: T_MaybeMExpr ->+ Inh_MaybeMExpr ->+ Syn_MaybeMExpr+wrap_MaybeMExpr sem (Inh_MaybeMExpr _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvarBeingDefined _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvarBeingDefined _lhsIvariableStyle+ in (Syn_MaybeMExpr _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_MaybeMExpr_Just :: T_MExpr ->+ T_MaybeMExpr+sem_MaybeMExpr_Just just_ =+ (case (just_) of+ { ( _justIcopy,_justImtokenPos,just_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Just _justIcopy+ {-# LINE 7943 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 7948 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_MaybeMExpr_Just_1 :: T_MaybeMExpr_1+ sem_MaybeMExpr_Just_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 179 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvarBeingDefined+ {-# LINE 7967 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOvarBeingDefined ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 7972 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 7977 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 7982 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 7987 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 7992 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 7997 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 8002 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 8007 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 8012 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOloopLevel ->+ (case (({-# LINE 170 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisNegation+ {-# LINE 8017 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOisNegation ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 8022 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOfuncName ->+ (case (({-# LINE 252 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 8027 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOtopLevel ->+ (case (({-# LINE 251 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 8032 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _justOinParentheses ->+ (case (just_1 _justOconfig _justOfuncName _justOglobalDefinitions _justOinParentheses _justOisInModule _justOisMeta _justOisNegation _justOloopLevel _justOmtokenPos _justOscopeLevel _justOscopes _justOtopLevel _justOvarBeingDefined _justOvariableStyle) of+ { ( _justIglobalDefinitions,_justIidentifier,_justIisInModule,_justIisSimpleExpression,_justIisSingleVar,_justIscopes,_justIvariableStyle,_justIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIglobalDefinitions+ {-# LINE 8039 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIidentifier+ {-# LINE 8044 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIisInModule+ {-# LINE 8049 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIisSingleVar+ {-# LINE 8054 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justImtokenPos+ {-# LINE 8059 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIscopes+ {-# LINE 8064 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIvariableStyle+ {-# LINE 8069 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _justIwarnings+ {-# LINE 8074 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_MaybeMExpr_Just_1)) of+ { ( sem_MaybeMExpr_1) ->+ ( _lhsOcopy,sem_MaybeMExpr_1) }) }) }) })+sem_MaybeMExpr_Nothing :: T_MaybeMExpr+sem_MaybeMExpr_Nothing =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 8085 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 8090 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_MaybeMExpr_Nothing_1 :: T_MaybeMExpr_1+ sem_MaybeMExpr_Nothing_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 8109 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 8114 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 8119 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 8124 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 8129 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 8134 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 8139 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 8144 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSingleVar,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_MaybeMExpr_Nothing_1)) of+ { ( sem_MaybeMExpr_1) ->+ ( _lhsOcopy,sem_MaybeMExpr_1) }) }) })+-- PFExprSuffix ------------------------------------------------+-- cata+sem_PFExprSuffix :: PFExprSuffix ->+ T_PFExprSuffix+sem_PFExprSuffix (Call _args) =+ (sem_PFExprSuffix_Call (sem_Args _args))+sem_PFExprSuffix (MetaCall _fn _args) =+ (sem_PFExprSuffix_MetaCall (sem_MToken _fn) (sem_Args _args))+sem_PFExprSuffix (ExprIndex _index) =+ (sem_PFExprSuffix_ExprIndex (sem_MExpr _index))+sem_PFExprSuffix (DotIndex _index) =+ (sem_PFExprSuffix_DotIndex (sem_MToken _index))+-- semantic domain+type T_PFExprSuffix = ( PFExprSuffix,T_PFExprSuffix_1)+type T_PFExprSuffix_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_PFExprSuffix = Inh_PFExprSuffix {config_Inh_PFExprSuffix :: LintSettings,funcName_Inh_PFExprSuffix :: String,globalDefinitions_Inh_PFExprSuffix :: (M.Map String [Region]),isInModule_Inh_PFExprSuffix :: Bool,isMeta_Inh_PFExprSuffix :: Bool,loopLevel_Inh_PFExprSuffix :: Int,mtokenPos_Inh_PFExprSuffix :: Region,scopeLevel_Inh_PFExprSuffix :: Int,scopes_Inh_PFExprSuffix :: ([M.Map String (Bool, Region)]),variableStyle_Inh_PFExprSuffix :: DeterminedVariableStyle}+data Syn_PFExprSuffix = Syn_PFExprSuffix {copy_Syn_PFExprSuffix :: PFExprSuffix,globalDefinitions_Syn_PFExprSuffix :: (M.Map String [Region]),identifier_Syn_PFExprSuffix :: String,isInModule_Syn_PFExprSuffix :: Bool,isSimpleExpression_Syn_PFExprSuffix :: Bool,mtokenPos_Syn_PFExprSuffix :: Region,scopes_Syn_PFExprSuffix :: ([M.Map String (Bool, Region)]),variableStyle_Syn_PFExprSuffix :: DeterminedVariableStyle,warnings_Syn_PFExprSuffix :: ([String -> LintMessage])}+wrap_PFExprSuffix :: T_PFExprSuffix ->+ Inh_PFExprSuffix ->+ Syn_PFExprSuffix+wrap_PFExprSuffix sem (Inh_PFExprSuffix _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_PFExprSuffix _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_PFExprSuffix_Call :: T_Args ->+ T_PFExprSuffix+sem_PFExprSuffix_Call args_ =+ (case (args_) of+ { ( _argsIcopy,args_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Call _argsIcopy+ {-# LINE 8192 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 8197 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_PFExprSuffix_Call_1 :: T_PFExprSuffix_1+ sem_PFExprSuffix_Call_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 8214 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 8219 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 8224 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 8229 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 8234 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 8239 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 8244 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 8249 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 8254 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 8259 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOfuncName ->+ (case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOvariableStyle) of+ { ( _argsIglobalDefinitions,_argsIidentifier,_argsIisInModule,_argsImtokenPos,_argsIscopes,_argsIvariableStyle,_argsIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIglobalDefinitions+ {-# LINE 8266 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIidentifier+ {-# LINE 8271 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIisInModule+ {-# LINE 8276 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 558 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 8281 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsImtokenPos+ {-# LINE 8286 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIscopes+ {-# LINE 8291 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIvariableStyle+ {-# LINE 8296 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIwarnings+ {-# LINE 8301 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_PFExprSuffix_Call_1)) of+ { ( sem_PFExprSuffix_1) ->+ ( _lhsOcopy,sem_PFExprSuffix_1) }) }) }) })+sem_PFExprSuffix_MetaCall :: T_MToken ->+ T_Args ->+ T_PFExprSuffix+sem_PFExprSuffix_MetaCall fn_ args_ =+ (case (args_) of+ { ( _argsIcopy,args_1) ->+ (case (fn_) of+ { ( _fnIcopy,_fnImtok,_fnImtokenPos,fn_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ MetaCall _fnIcopy _argsIcopy+ {-# LINE 8318 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 8323 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_PFExprSuffix_MetaCall_1 :: T_PFExprSuffix_1+ sem_PFExprSuffix_MetaCall_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 8340 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOscopes ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 8345 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 8350 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 8355 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 8360 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 8365 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 8370 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOconfig ->+ (case (fn_1 _fnOconfig _fnOfuncName _fnOglobalDefinitions _fnOisInModule _fnOisMeta _fnOmtokenPos _fnOscopes) of+ { ( _fnIglobalDefinitions,_fnIidentifier,_fnIisInModule,_fnIscopes,_fnIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnIscopes+ {-# LINE 8377 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 8382 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnIisInModule+ {-# LINE 8387 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnIglobalDefinitions+ {-# LINE 8392 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 8397 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 8402 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 8407 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnImtokenPos+ {-# LINE 8412 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 8417 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 8422 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argsOfuncName ->+ (case (args_1 _argsOconfig _argsOfuncName _argsOglobalDefinitions _argsOisInModule _argsOisMeta _argsOloopLevel _argsOmtokenPos _argsOscopeLevel _argsOscopes _argsOvariableStyle) of+ { ( _argsIglobalDefinitions,_argsIidentifier,_argsIisInModule,_argsImtokenPos,_argsIscopes,_argsIvariableStyle,_argsIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIglobalDefinitions+ {-# LINE 8429 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _fnIidentifier _argsIidentifier)+ {-# LINE 8434 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIisInModule+ {-# LINE 8439 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 560 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 8444 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsImtokenPos+ {-# LINE 8449 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIscopes+ {-# LINE 8454 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _argsIvariableStyle+ {-# LINE 8459 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnIwarnings ++ _argsIwarnings+ {-# LINE 8464 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_PFExprSuffix_MetaCall_1)) of+ { ( sem_PFExprSuffix_1) ->+ ( _lhsOcopy,sem_PFExprSuffix_1) }) }) }) }) })+sem_PFExprSuffix_ExprIndex :: T_MExpr ->+ T_PFExprSuffix+sem_PFExprSuffix_ExprIndex index_ =+ (case (index_) of+ { ( _indexIcopy,_indexImtokenPos,index_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ExprIndex _indexIcopy+ {-# LINE 8478 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 8483 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_PFExprSuffix_ExprIndex_1 :: T_PFExprSuffix_1+ sem_PFExprSuffix_ExprIndex_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 8500 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 8505 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 8510 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 8515 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 8520 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOconfig ->+ (case (({-# LINE 565 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 8525 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 8530 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 8535 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 8540 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 8545 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 8550 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOfuncName ->+ (case (({-# LINE 564 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 8555 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOtopLevel ->+ (case (({-# LINE 563 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 8560 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOinParentheses ->+ (case (({-# LINE 562 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 8565 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOisNegation ->+ (case (index_1 _indexOconfig _indexOfuncName _indexOglobalDefinitions _indexOinParentheses _indexOisInModule _indexOisMeta _indexOisNegation _indexOloopLevel _indexOmtokenPos _indexOscopeLevel _indexOscopes _indexOtopLevel _indexOvarBeingDefined _indexOvariableStyle) of+ { ( _indexIglobalDefinitions,_indexIidentifier,_indexIisInModule,_indexIisSimpleExpression,_indexIisSingleVar,_indexIscopes,_indexIvariableStyle,_indexIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIglobalDefinitions+ {-# LINE 8572 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIidentifier+ {-# LINE 8577 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIisInModule+ {-# LINE 8582 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIisSimpleExpression+ {-# LINE 8587 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexImtokenPos+ {-# LINE 8592 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIscopes+ {-# LINE 8597 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIvariableStyle+ {-# LINE 8602 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIwarnings+ {-# LINE 8607 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_PFExprSuffix_ExprIndex_1)) of+ { ( sem_PFExprSuffix_1) ->+ ( _lhsOcopy,sem_PFExprSuffix_1) }) }) }) })+sem_PFExprSuffix_DotIndex :: T_MToken ->+ T_PFExprSuffix+sem_PFExprSuffix_DotIndex index_ =+ (case (index_) of+ { ( _indexIcopy,_indexImtok,_indexImtokenPos,index_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ DotIndex _indexIcopy+ {-# LINE 8621 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 8626 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_PFExprSuffix_DotIndex_1 :: T_PFExprSuffix_1+ sem_PFExprSuffix_DotIndex_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 8643 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOglobalDefinitions ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 8648 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOscopes ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 8653 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 8658 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 8663 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOisInModule ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 8668 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 8673 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _indexOconfig ->+ (case (index_1 _indexOconfig _indexOfuncName _indexOglobalDefinitions _indexOisInModule _indexOisMeta _indexOmtokenPos _indexOscopes) of+ { ( _indexIglobalDefinitions,_indexIidentifier,_indexIisInModule,_indexIscopes,_indexIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIglobalDefinitions+ {-# LINE 8680 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIidentifier+ {-# LINE 8685 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIisInModule+ {-# LINE 8690 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 8695 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexImtokenPos+ {-# LINE 8700 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIscopes+ {-# LINE 8705 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 8710 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _indexIwarnings+ {-# LINE 8715 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_PFExprSuffix_DotIndex_1)) of+ { ( sem_PFExprSuffix_1) ->+ ( _lhsOcopy,sem_PFExprSuffix_1) }) }) }) })+-- PrefixExp ---------------------------------------------------+-- cata+sem_PrefixExp :: PrefixExp ->+ T_PrefixExp+sem_PrefixExp (PFVar _name _suffixes) =+ (sem_PrefixExp_PFVar (sem_MToken _name) (sem_ExprSuffixList _suffixes))+sem_PrefixExp (ExprVar _expr _suffixes) =+ (sem_PrefixExp_ExprVar (sem_MExpr _expr) (sem_ExprSuffixList _suffixes))+-- semantic domain+type T_PrefixExp = ( PrefixExp,Bool,Region,(Maybe MToken),T_PrefixExp_1)+type T_PrefixExp_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Bool ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ Bool ->+ (Maybe MToken) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Bool,(Maybe MToken),([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_PrefixExp = Inh_PrefixExp {config_Inh_PrefixExp :: LintSettings,funcName_Inh_PrefixExp :: String,globalDefinitions_Inh_PrefixExp :: (M.Map String [Region]),inParentheses_Inh_PrefixExp :: Bool,isInModule_Inh_PrefixExp :: Bool,isMeta_Inh_PrefixExp :: Bool,isNegation_Inh_PrefixExp :: Bool,loopLevel_Inh_PrefixExp :: Int,mtokenPos_Inh_PrefixExp :: Region,registerVarUse_Inh_PrefixExp :: Bool,scopeLevel_Inh_PrefixExp :: Int,scopes_Inh_PrefixExp :: ([M.Map String (Bool, Region)]),topLevel_Inh_PrefixExp :: Bool,varBeingDefined_Inh_PrefixExp :: (Maybe MToken),variableStyle_Inh_PrefixExp :: DeterminedVariableStyle}+data Syn_PrefixExp = Syn_PrefixExp {copy_Syn_PrefixExp :: PrefixExp,globalDefinitions_Syn_PrefixExp :: (M.Map String [Region]),hasSuffixes_Syn_PrefixExp :: Bool,identifier_Syn_PrefixExp :: String,isInModule_Syn_PrefixExp :: Bool,isSimpleExpression_Syn_PrefixExp :: Bool,isSingleVar_Syn_PrefixExp :: (Maybe MToken),mtokenPos_Syn_PrefixExp :: Region,scopes_Syn_PrefixExp :: ([M.Map String (Bool, Region)]),varName_Syn_PrefixExp :: (Maybe MToken),variableStyle_Syn_PrefixExp :: DeterminedVariableStyle,warnings_Syn_PrefixExp :: ([String -> LintMessage])}+wrap_PrefixExp :: T_PrefixExp ->+ Inh_PrefixExp ->+ Syn_PrefixExp+wrap_PrefixExp sem (Inh_PrefixExp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIregisterVarUse _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle) =+ (let ( _lhsOcopy,_lhsOhasSuffixes,_lhsOmtokenPos,_lhsOvarName,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIinParentheses _lhsIisInModule _lhsIisMeta _lhsIisNegation _lhsIloopLevel _lhsImtokenPos _lhsIregisterVarUse _lhsIscopeLevel _lhsIscopes _lhsItopLevel _lhsIvarBeingDefined _lhsIvariableStyle+ in (Syn_PrefixExp _lhsOcopy _lhsOglobalDefinitions _lhsOhasSuffixes _lhsOidentifier _lhsOisInModule _lhsOisSimpleExpression _lhsOisSingleVar _lhsOmtokenPos _lhsOscopes _lhsOvarName _lhsOvariableStyle _lhsOwarnings))+sem_PrefixExp_PFVar :: T_MToken ->+ T_ExprSuffixList ->+ T_PrefixExp+sem_PrefixExp_PFVar name_ suffixes_ =+ (case (suffixes_) of+ { ( _suffixesIcopy,suffixes_1) ->+ (case (name_) of+ { ( _nameIcopy,_nameImtok,_nameImtokenPos,name_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ PFVar _nameIcopy _suffixesIcopy+ {-# LINE 8767 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 8772 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 520 "src/GLuaFixer/AG/ASTLint.ag" #-}+ not . null $ _suffixesIcopy+ {-# LINE 8777 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOhasSuffixes ->+ (case (({-# LINE 519 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameImtokenPos+ {-# LINE 8782 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 522 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Just _nameIcopy+ {-# LINE 8787 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varName ->+ (case (({-# LINE 193 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varName+ {-# LINE 8792 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvarName ->+ (case ((let sem_PrefixExp_PFVar_1 :: T_PrefixExp_1+ sem_PrefixExp_PFVar_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIregisterVarUse+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 526 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if isJust _lhsIvarBeingDefined && _lhsIvarBeingDefined == _varName then+ case _lhsIscopes of+ deepestScope : otherScopes -> deepestScope : registerVariable otherScopes _nameImtokenPos (show _nameImtok) _lhsIregisterVarUse+ noScopes -> noScopes+ else+ registerVariable _lhsIscopes _nameImtokenPos (show _nameImtok) _lhsIregisterVarUse+ {-# LINE 8819 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _foundVars ->+ (case (({-# LINE 536 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _foundVars+ {-# LINE 8824 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOscopes ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 8829 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 8834 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 8839 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 8844 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 8849 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 8854 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOconfig ->+ (case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOmtokenPos _nameOscopes) of+ { ( _nameIglobalDefinitions,_nameIidentifier,_nameIisInModule,_nameIscopes,_nameIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIscopes+ {-# LINE 8861 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 8866 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIisInModule+ {-# LINE 8871 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIglobalDefinitions+ {-# LINE 8876 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 8881 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 8886 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 8891 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameImtokenPos+ {-# LINE 8896 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 8901 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 8906 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOfuncName ->+ (case (suffixes_1 _suffixesOconfig _suffixesOfuncName _suffixesOglobalDefinitions _suffixesOisInModule _suffixesOisMeta _suffixesOloopLevel _suffixesOmtokenPos _suffixesOscopeLevel _suffixesOscopes _suffixesOvariableStyle) of+ { ( _suffixesIglobalDefinitions,_suffixesIidentifier,_suffixesIisInModule,_suffixesIisSimpleExpression,_suffixesImtokenPos,_suffixesIscopes,_suffixesIvariableStyle,_suffixesIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _suffixesIglobalDefinitions+ {-# LINE 8913 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _nameIidentifier _suffixesIidentifier)+ {-# LINE 8918 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _suffixesIisInModule+ {-# LINE 8923 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _suffixesIisSimpleExpression+ {-# LINE 8928 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 521 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if null _suffixesIcopy then _varName else Nothing+ {-# LINE 8933 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _suffixesIscopes+ {-# LINE 8938 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _suffixesIvariableStyle+ {-# LINE 8943 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 542 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIwarnings ++ _suffixesIwarnings+ {-# LINE 8948 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 535 "src/GLuaFixer/AG/ASTLint.ag" #-}+ tokenLabel _nameIcopy+ {-# LINE 8953 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _name ->+ (case (({-# LINE 542 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_beginnerMistakes _lhsIconfig) || _lhsIisMeta || _name /= "self" then id else+ (:) $ warn _nameImtokenPos SelfInNonMeta+ {-# LINE 8959 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f3 ->+ (case (({-# LINE 542 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_beginnerMistakes _lhsIconfig) || not _lhsIisMeta || _name /= "self" ||+ _lhsIfuncName /= "ENT" || _suffixesIidentifier /= "Entity" then id else+ (:) $ warn _nameImtokenPos SelfEntity+ {-# LINE 8966 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f2 ->+ (case (({-# LINE 542 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_beginnerMistakes _lhsIconfig) || not _lhsIisMeta || _name /= "self" ||+ _lhsIfuncName /= "SWEP" || _suffixesIidentifier /= "Weapon" then id else+ (:) $ warn _nameImtokenPos SelfWeapon+ {-# LINE 8973 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 542 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2, _warnings_augmented_f3]+ {-# LINE 8978 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_PrefixExp_PFVar_1)) of+ { ( sem_PrefixExp_1) ->+ ( _lhsOcopy,_lhsOhasSuffixes,_lhsOmtokenPos,_lhsOvarName,sem_PrefixExp_1) }) }) }) }) }) }) }) }) })+sem_PrefixExp_ExprVar :: T_MExpr ->+ T_ExprSuffixList ->+ T_PrefixExp+sem_PrefixExp_ExprVar expr_ suffixes_ =+ (case (suffixes_) of+ { ( _suffixesIcopy,suffixes_1) ->+ (case (expr_) of+ { ( _exprIcopy,_exprImtokenPos,expr_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ExprVar _exprIcopy _suffixesIcopy+ {-# LINE 8995 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 9000 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 549 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 9005 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOhasSuffixes ->+ (case (({-# LINE 546 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprImtokenPos+ {-# LINE 9010 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 548 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 9015 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvarName ->+ (case ((let sem_PrefixExp_ExprVar_1 :: T_PrefixExp_1+ sem_PrefixExp_ExprVar_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIinParentheses+ _lhsIisInModule+ _lhsIisMeta+ _lhsIisNegation+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIregisterVarUse+ _lhsIscopeLevel+ _lhsIscopes+ _lhsItopLevel+ _lhsIvarBeingDefined+ _lhsIvariableStyle ->+ (case (({-# LINE 179 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvarBeingDefined+ {-# LINE 9037 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOvarBeingDefined ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 9042 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 9047 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 9052 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 9057 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 9062 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 9067 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 9072 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOloopLevel ->+ (case (({-# LINE 170 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisNegation+ {-# LINE 9077 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOisNegation ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 9082 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 9087 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 9092 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOfuncName ->+ (case (({-# LINE 551 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 9097 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOtopLevel ->+ (case (({-# LINE 550 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 9102 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _exprOinParentheses ->+ (case (expr_1 _exprOconfig _exprOfuncName _exprOglobalDefinitions _exprOinParentheses _exprOisInModule _exprOisMeta _exprOisNegation _exprOloopLevel _exprOmtokenPos _exprOscopeLevel _exprOscopes _exprOtopLevel _exprOvarBeingDefined _exprOvariableStyle) of+ { ( _exprIglobalDefinitions,_exprIidentifier,_exprIisInModule,_exprIisSimpleExpression,_exprIisSingleVar,_exprIscopes,_exprIvariableStyle,_exprIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIscopes+ {-# LINE 9109 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 9114 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIisInModule+ {-# LINE 9119 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIglobalDefinitions+ {-# LINE 9124 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 9129 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIvariableStyle+ {-# LINE 9134 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 9139 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprImtokenPos+ {-# LINE 9144 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 9149 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 9154 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _suffixesOfuncName ->+ (case (suffixes_1 _suffixesOconfig _suffixesOfuncName _suffixesOglobalDefinitions _suffixesOisInModule _suffixesOisMeta _suffixesOloopLevel _suffixesOmtokenPos _suffixesOscopeLevel _suffixesOscopes _suffixesOvariableStyle) of+ { ( _suffixesIglobalDefinitions,_suffixesIidentifier,_suffixesIisInModule,_suffixesIisSimpleExpression,_suffixesImtokenPos,_suffixesIscopes,_suffixesIvariableStyle,_suffixesIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _suffixesIglobalDefinitions+ {-# LINE 9161 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _exprIidentifier _suffixesIidentifier)+ {-# LINE 9166 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _suffixesIisInModule+ {-# LINE 9171 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIisSimpleExpression && _suffixesIisSimpleExpression+ {-# LINE 9176 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSimpleExpression ->+ (case (({-# LINE 547 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 9181 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisSingleVar ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _suffixesIscopes+ {-# LINE 9186 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _suffixesIvariableStyle+ {-# LINE 9191 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 552 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _exprIwarnings ++ _suffixesIwarnings+ {-# LINE 9196 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 552 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if lint_redundantParentheses _lhsIconfig && null _suffixesIcopy && (_lhsIinParentheses || (not _lhsItopLevel && _exprIisSimpleExpression))+ then (:) $ warn _lhsImtokenPos UnnecessaryParentheses+ else id+ {-# LINE 9203 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 552 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 9208 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisSimpleExpression,_lhsOisSingleVar,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_PrefixExp_ExprVar_1)) of+ { ( sem_PrefixExp_1) ->+ ( _lhsOcopy,_lhsOhasSuffixes,_lhsOmtokenPos,_lhsOvarName,sem_PrefixExp_1) }) }) }) }) }) }) }) })+-- Stat --------------------------------------------------------+-- cata+sem_Stat :: Stat ->+ T_Stat+sem_Stat (Def _vars) =+ (sem_Stat_Def (sem_VarsList _vars))+sem_Stat (LocDef _vars) =+ (sem_Stat_LocDef (sem_VarsList _vars))+sem_Stat (AFuncCall _fn) =+ (sem_Stat_AFuncCall (sem_PrefixExp _fn))+sem_Stat (ALabel _lbl) =+ (sem_Stat_ALabel (sem_MToken _lbl))+sem_Stat (ABreak) =+ (sem_Stat_ABreak)+sem_Stat (AContinue) =+ (sem_Stat_AContinue)+sem_Stat (AGoto _lbl) =+ (sem_Stat_AGoto (sem_MToken _lbl))+sem_Stat (ADo _body) =+ (sem_Stat_ADo (sem_Block _body))+sem_Stat (AWhile _cond _body) =+ (sem_Stat_AWhile (sem_MExpr _cond) (sem_Block _body))+sem_Stat (ARepeat _body _cond) =+ (sem_Stat_ARepeat (sem_Block _body) (sem_MExpr _cond))+sem_Stat (AIf _cond _body _elifs _els) =+ (sem_Stat_AIf (sem_MExpr _cond) (sem_Block _body) (sem_ElseIfList _elifs) (sem_Else _els))+sem_Stat (ANFor _var _val _to _step _body) =+ (sem_Stat_ANFor (sem_MToken _var) (sem_MExpr _val) (sem_MExpr _to) (sem_MExpr _step) (sem_Block _body))+sem_Stat (AGFor _vars _vals _body) =+ (sem_Stat_AGFor _vars (sem_MExprList _vals) (sem_Block _body))+sem_Stat (AFunc _name _args _body) =+ (sem_Stat_AFunc (sem_FuncName _name) _args (sem_Block _body))+sem_Stat (ALocFunc _name _args _body) =+ (sem_Stat_ALocFunc (sem_FuncName _name) _args (sem_Block _body))+-- semantic domain+type T_Stat = ( Stat,T_Stat_1)+type T_Stat_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_Stat = Inh_Stat {config_Inh_Stat :: LintSettings,funcName_Inh_Stat :: String,globalDefinitions_Inh_Stat :: (M.Map String [Region]),isInModule_Inh_Stat :: Bool,isMeta_Inh_Stat :: Bool,loopLevel_Inh_Stat :: Int,mtokenPos_Inh_Stat :: Region,scopeLevel_Inh_Stat :: Int,scopes_Inh_Stat :: ([M.Map String (Bool, Region)]),variableStyle_Inh_Stat :: DeterminedVariableStyle}+data Syn_Stat = Syn_Stat {copy_Syn_Stat :: Stat,globalDefinitions_Syn_Stat :: (M.Map String [Region]),identifier_Syn_Stat :: String,isIfStatement_Syn_Stat :: Bool,isInModule_Syn_Stat :: Bool,mtokenPos_Syn_Stat :: Region,scopes_Syn_Stat :: ([M.Map String (Bool, Region)]),variableStyle_Syn_Stat :: DeterminedVariableStyle,warnings_Syn_Stat :: ([String -> LintMessage])}+wrap_Stat :: T_Stat ->+ Inh_Stat ->+ Syn_Stat+wrap_Stat sem (Inh_Stat _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_Stat _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisIfStatement _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_Stat_Def :: T_VarsList ->+ T_Stat+sem_Stat_Def vars_ =+ (case (vars_) of+ { ( _varsIcopy,vars_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Def _varsIcopy+ {-# LINE 9278 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 9283 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_Def_1 :: T_Stat_1+ sem_Stat_Def_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 9300 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 9305 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 9310 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 9315 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 9320 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOconfig ->+ (case (({-# LINE 315 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 9325 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOlocalDefinition ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 9330 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 9335 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 9340 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 9345 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 9350 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOfuncName ->+ (case (vars_1 _varsOconfig _varsOfuncName _varsOglobalDefinitions _varsOisInModule _varsOisMeta _varsOlocalDefinition _varsOloopLevel _varsOmtokenPos _varsOscopeLevel _varsOscopes _varsOvariableStyle) of+ { ( _varsIglobalDefinitions,_varsIidentifier,_varsIisInModule,_varsImtokenPos,_varsIscopes,_varsIvariableStyle,_varsIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIglobalDefinitions+ {-# LINE 9357 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIidentifier+ {-# LINE 9362 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 9367 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIisInModule+ {-# LINE 9372 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsImtokenPos+ {-# LINE 9377 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIscopes+ {-# LINE 9382 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIvariableStyle+ {-# LINE 9387 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIwarnings+ {-# LINE 9392 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_Def_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) })+sem_Stat_LocDef :: T_VarsList ->+ T_Stat+sem_Stat_LocDef vars_ =+ (case (vars_) of+ { ( _varsIcopy,vars_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ LocDef _varsIcopy+ {-# LINE 9406 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 9411 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_LocDef_1 :: T_Stat_1+ sem_Stat_LocDef_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 9428 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 9433 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 9438 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 9443 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 9448 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOconfig ->+ (case (({-# LINE 318 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 9453 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOlocalDefinition ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 9458 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 9463 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 9468 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 9473 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 9478 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varsOfuncName ->+ (case (vars_1 _varsOconfig _varsOfuncName _varsOglobalDefinitions _varsOisInModule _varsOisMeta _varsOlocalDefinition _varsOloopLevel _varsOmtokenPos _varsOscopeLevel _varsOscopes _varsOvariableStyle) of+ { ( _varsIglobalDefinitions,_varsIidentifier,_varsIisInModule,_varsImtokenPos,_varsIscopes,_varsIvariableStyle,_varsIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIglobalDefinitions+ {-# LINE 9485 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIidentifier+ {-# LINE 9490 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 9495 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIisInModule+ {-# LINE 9500 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsImtokenPos+ {-# LINE 9505 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIscopes+ {-# LINE 9510 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIvariableStyle+ {-# LINE 9515 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varsIwarnings+ {-# LINE 9520 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_LocDef_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) })+sem_Stat_AFuncCall :: T_PrefixExp ->+ T_Stat+sem_Stat_AFuncCall fn_ =+ (case (fn_) of+ { ( _fnIcopy,_fnIhasSuffixes,_fnImtokenPos,_fnIvarName,fn_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AFuncCall _fnIcopy+ {-# LINE 9534 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 9539 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_AFuncCall_1 :: T_Stat_1+ sem_Stat_AFuncCall_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 9556 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 9561 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 9566 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 9571 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 9576 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOconfig ->+ (case (({-# LINE 324 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 9581 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOvarBeingDefined ->+ (case (({-# LINE 321 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 9586 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOregisterVarUse ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 9591 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 9596 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 9601 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 9606 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 9611 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOfuncName ->+ (case (({-# LINE 323 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 9616 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOtopLevel ->+ (case (({-# LINE 322 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 9621 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOinParentheses ->+ (case (({-# LINE 320 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 9626 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _fnOisNegation ->+ (case (fn_1 _fnOconfig _fnOfuncName _fnOglobalDefinitions _fnOinParentheses _fnOisInModule _fnOisMeta _fnOisNegation _fnOloopLevel _fnOmtokenPos _fnOregisterVarUse _fnOscopeLevel _fnOscopes _fnOtopLevel _fnOvarBeingDefined _fnOvariableStyle) of+ { ( _fnIglobalDefinitions,_fnIidentifier,_fnIisInModule,_fnIisSimpleExpression,_fnIisSingleVar,_fnIscopes,_fnIvariableStyle,_fnIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnIglobalDefinitions+ {-# LINE 9633 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnIidentifier+ {-# LINE 9638 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 9643 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 325 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (tokenLabel <$> _fnIvarName) == Just "module"+ {-# LINE 9648 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _isModuleCall ->+ (case (({-# LINE 326 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule || _isModuleCall+ {-# LINE 9653 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnImtokenPos+ {-# LINE 9658 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnIscopes+ {-# LINE 9663 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnIvariableStyle+ {-# LINE 9668 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _fnIwarnings+ {-# LINE 9673 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_AFuncCall_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) })+sem_Stat_ALabel :: T_MToken ->+ T_Stat+sem_Stat_ALabel lbl_ =+ (case (lbl_) of+ { ( _lblIcopy,_lblImtok,_lblImtokenPos,lbl_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ALabel _lblIcopy+ {-# LINE 9687 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 9692 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_ALabel_1 :: T_Stat_1+ sem_Stat_ALabel_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 9709 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOglobalDefinitions ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 9714 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOscopes ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 9719 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 9724 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 9729 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOisInModule ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 9734 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 9739 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOconfig ->+ (case (lbl_1 _lblOconfig _lblOfuncName _lblOglobalDefinitions _lblOisInModule _lblOisMeta _lblOmtokenPos _lblOscopes) of+ { ( _lblIglobalDefinitions,_lblIidentifier,_lblIisInModule,_lblIscopes,_lblIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblIglobalDefinitions+ {-# LINE 9746 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblIidentifier+ {-# LINE 9751 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 9756 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblIisInModule+ {-# LINE 9761 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblImtokenPos+ {-# LINE 9766 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblIscopes+ {-# LINE 9771 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 9776 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblIwarnings+ {-# LINE 9781 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_ALabel_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) })+sem_Stat_ABreak :: T_Stat+sem_Stat_ABreak =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ABreak+ {-# LINE 9792 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 9797 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_ABreak_1 :: T_Stat_1+ sem_Stat_ABreak_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 9814 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 9819 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 9824 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 9829 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 9834 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 9839 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 9844 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 9849 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_Stat_ABreak_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) })+sem_Stat_AContinue :: T_Stat+sem_Stat_AContinue =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AContinue+ {-# LINE 9860 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 9865 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_AContinue_1 :: T_Stat_1+ sem_Stat_AContinue_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 9882 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 9887 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 9892 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 9897 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 9902 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 9907 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 9912 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 9917 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_Stat_AContinue_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) })+sem_Stat_AGoto :: T_MToken ->+ T_Stat+sem_Stat_AGoto lbl_ =+ (case (lbl_) of+ { ( _lblIcopy,_lblImtok,_lblImtokenPos,lbl_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AGoto _lblIcopy+ {-# LINE 9931 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 9936 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_AGoto_1 :: T_Stat_1+ sem_Stat_AGoto_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 9953 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOglobalDefinitions ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 9958 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOscopes ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 9963 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 9968 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 9973 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOisInModule ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 9978 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 9983 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lblOconfig ->+ (case (lbl_1 _lblOconfig _lblOfuncName _lblOglobalDefinitions _lblOisInModule _lblOisMeta _lblOmtokenPos _lblOscopes) of+ { ( _lblIglobalDefinitions,_lblIidentifier,_lblIisInModule,_lblIscopes,_lblIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblIglobalDefinitions+ {-# LINE 9990 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblIidentifier+ {-# LINE 9995 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 209 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10000 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblIisInModule+ {-# LINE 10005 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblImtokenPos+ {-# LINE 10010 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblIscopes+ {-# LINE 10015 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 10020 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 331 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lblIwarnings+ {-# LINE 10025 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 331 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_gotos _lhsIconfig) || _lhsIloopLevel >= 2 then id else+ (:) $ warn _lblImtokenPos AvoidGoto+ {-# LINE 10031 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 331 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 10036 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_AGoto_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) })+sem_Stat_ADo :: T_Block ->+ T_Stat+sem_Stat_ADo body_ =+ (case (body_) of+ { ( _bodyIcopy,body_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ADo _bodyIcopy+ {-# LINE 10050 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 10055 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_ADo_1 :: T_Stat_1+ sem_Stat_ADo_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 10072 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 10077 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 10082 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 10087 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOconfig ->+ (case (({-# LINE 335 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.empty : _lhsIscopes+ {-# LINE 10092 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 10097 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 10102 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 10107 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 10112 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 10117 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOfuncName ->+ (case (({-# LINE 336 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10122 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisRepeat ->+ (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of+ { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIglobalDefinitions+ {-# LINE 10129 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIidentifier+ {-# LINE 10134 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 334 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10139 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIisInModule+ {-# LINE 10144 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyImtokenPos+ {-# LINE 10149 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIscopes+ {-# LINE 10154 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIvariableStyle+ {-# LINE 10159 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 337 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIwarnings+ {-# LINE 10164 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 337 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else+ (:) $ warn _lhsImtokenPos EmptyDoBlock+ {-# LINE 10170 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 337 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 10175 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_ADo_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) })+sem_Stat_AWhile :: T_MExpr ->+ T_Block ->+ T_Stat+sem_Stat_AWhile cond_ body_ =+ (case (body_) of+ { ( _bodyIcopy,body_1) ->+ (case (cond_) of+ { ( _condIcopy,_condImtokenPos,cond_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AWhile _condIcopy _bodyIcopy+ {-# LINE 10192 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 10197 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_AWhile_1 :: T_Stat_1+ sem_Stat_AWhile_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 10214 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 10219 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOisInModule ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 10224 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 10229 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 10234 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 10239 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 10244 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 10249 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOisMeta ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 10254 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 10259 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 10264 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOconfig ->+ (case (({-# LINE 345 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 10269 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOvarBeingDefined ->+ (case (({-# LINE 344 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 10274 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOtopLevel ->+ (case (({-# LINE 343 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10279 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOinParentheses ->+ (case (({-# LINE 342 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10284 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOisNegation ->+ (case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of+ { ( _condIglobalDefinitions,_condIidentifier,_condIisInModule,_condIisSimpleExpression,_condIisSingleVar,_condIscopes,_condIvariableStyle,_condIwarnings) ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIisInModule+ {-# LINE 10291 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIglobalDefinitions+ {-# LINE 10296 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 10301 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOconfig ->+ (case (({-# LINE 347 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.empty : _condIscopes+ {-# LINE 10306 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIvariableStyle+ {-# LINE 10311 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 10316 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condImtokenPos+ {-# LINE 10321 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOmtokenPos ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 10326 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOfuncName ->+ (case (({-# LINE 346 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10331 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisRepeat ->+ (case (({-# LINE 341 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel + 1+ {-# LINE 10336 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOloopLevel ->+ (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of+ { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIglobalDefinitions+ {-# LINE 10343 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _condIidentifier _bodyIidentifier)+ {-# LINE 10348 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 340 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10353 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIisInModule+ {-# LINE 10358 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyImtokenPos+ {-# LINE 10363 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIscopes+ {-# LINE 10368 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIvariableStyle+ {-# LINE 10373 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 348 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIwarnings ++ _bodyIwarnings+ {-# LINE 10378 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 348 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else+ (:) $ warn _lhsImtokenPos EmptyWhileLoop+ {-# LINE 10384 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 348 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 10389 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_AWhile_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) }) })+sem_Stat_ARepeat :: T_Block ->+ T_MExpr ->+ T_Stat+sem_Stat_ARepeat body_ cond_ =+ (case (cond_) of+ { ( _condIcopy,_condImtokenPos,cond_1) ->+ (case (body_) of+ { ( _bodyIcopy,body_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ARepeat _bodyIcopy _condIcopy+ {-# LINE 10406 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 10411 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_ARepeat_1 :: T_Stat_1+ sem_Stat_ARepeat_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 10428 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 10433 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOconfig ->+ (case (({-# LINE 359 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.empty : _lhsIscopes+ {-# LINE 10438 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopes ->+ (case (({-# LINE 358 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 10443 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisRepeat ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 10448 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 10453 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 10458 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOmtokenPos ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 10463 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 10468 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 10473 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOfuncName ->+ (case (({-# LINE 353 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel + 1+ {-# LINE 10478 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOloopLevel ->+ (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of+ { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIscopes+ {-# LINE 10485 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 10490 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIisInModule+ {-# LINE 10495 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIglobalDefinitions+ {-# LINE 10500 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 10505 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOconfig ->+ (case (({-# LINE 357 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 10510 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIvariableStyle+ {-# LINE 10515 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 10520 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyImtokenPos+ {-# LINE 10525 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 10530 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 10535 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOfuncName ->+ (case (({-# LINE 356 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 10540 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOtopLevel ->+ (case (({-# LINE 355 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10545 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOinParentheses ->+ (case (({-# LINE 354 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10550 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOisNegation ->+ (case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of+ { ( _condIglobalDefinitions,_condIidentifier,_condIisInModule,_condIisSimpleExpression,_condIisSingleVar,_condIscopes,_condIvariableStyle,_condIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIglobalDefinitions+ {-# LINE 10557 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _bodyIidentifier _condIidentifier)+ {-# LINE 10562 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 352 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10567 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIisInModule+ {-# LINE 10572 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condImtokenPos+ {-# LINE 10577 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 360 "src/GLuaFixer/AG/ASTLint.ag" #-}+ tail _condIscopes+ {-# LINE 10582 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIvariableStyle+ {-# LINE 10587 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 361 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIwarnings ++ _condIwarnings+ {-# LINE 10592 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 361 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else+ (:) $ warn _lhsImtokenPos EmptyRepeat+ {-# LINE 10598 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 361 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 10603 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_ARepeat_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) }) })+sem_Stat_AIf :: T_MExpr ->+ T_Block ->+ T_ElseIfList ->+ T_Else ->+ T_Stat+sem_Stat_AIf cond_ body_ elifs_ els_ =+ (case (els_) of+ { ( _elsIcopy,els_1) ->+ (case (elifs_) of+ { ( _elifsIcopy,elifs_1) ->+ (case (body_) of+ { ( _bodyIcopy,body_1) ->+ (case (cond_) of+ { ( _condIcopy,_condImtokenPos,cond_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AIf _condIcopy _bodyIcopy _elifsIcopy _elsIcopy+ {-# LINE 10626 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 10631 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_AIf_1 :: T_Stat_1+ sem_Stat_AIf_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 10648 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 10653 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOconfig ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 10658 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 10663 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 10668 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOconfig ->+ (case (({-# LINE 374 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10673 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisRepeat ->+ (case (({-# LINE 372 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 10678 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOvarBeingDefined ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 10683 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 10688 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 10693 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 10698 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 10703 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 10708 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 10713 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOfuncName ->+ (case (({-# LINE 371 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 10718 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOtopLevel ->+ (case (({-# LINE 370 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10723 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOinParentheses ->+ (case (({-# LINE 369 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 10728 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _condOisNegation ->+ (case (cond_1 _condOconfig _condOfuncName _condOglobalDefinitions _condOinParentheses _condOisInModule _condOisMeta _condOisNegation _condOloopLevel _condOmtokenPos _condOscopeLevel _condOscopes _condOtopLevel _condOvarBeingDefined _condOvariableStyle) of+ { ( _condIglobalDefinitions,_condIidentifier,_condIisInModule,_condIisSimpleExpression,_condIisSingleVar,_condIscopes,_condIvariableStyle,_condIwarnings) ->+ (case (({-# LINE 373 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.empty : _condIscopes+ {-# LINE 10735 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIvariableStyle+ {-# LINE 10740 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 10745 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condImtokenPos+ {-# LINE 10750 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 10755 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIisInModule+ {-# LINE 10760 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIglobalDefinitions+ {-# LINE 10765 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 10770 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOfuncName ->+ (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of+ { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIscopes+ {-# LINE 10777 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifsOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 10782 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifsOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 10787 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifsOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIvariableStyle+ {-# LINE 10792 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifsOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 10797 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifsOscopeLevel ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 10802 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifsOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIisInModule+ {-# LINE 10807 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifsOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIglobalDefinitions+ {-# LINE 10812 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifsOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 10817 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifsOfuncName ->+ (case (({-# LINE 375 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 10822 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elifsOmtokenPos ->+ (case (elifs_1 _elifsOconfig _elifsOfuncName _elifsOglobalDefinitions _elifsOisInModule _elifsOisMeta _elifsOloopLevel _elifsOmtokenPos _elifsOscopeLevel _elifsOscopes _elifsOvariableStyle) of+ { ( _elifsIelseExists,_elifsIglobalDefinitions,_elifsIidentifier,_elifsIisInModule,_elifsImtokenPos,_elifsIscopes,_elifsIvariableStyle,_elifsIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elifsIscopes+ {-# LINE 10829 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsOscopes ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 10834 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elifsIisInModule+ {-# LINE 10839 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elifsIglobalDefinitions+ {-# LINE 10844 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 10849 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elifsIvariableStyle+ {-# LINE 10854 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 10859 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsOscopeLevel ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 10864 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 10869 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsOfuncName ->+ (case (({-# LINE 376 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 10874 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _elsOmtokenPos ->+ (case (els_1 _elsOconfig _elsOfuncName _elsOglobalDefinitions _elsOisInModule _elsOisMeta _elsOloopLevel _elsOmtokenPos _elsOscopeLevel _elsOscopes _elsOvariableStyle) of+ { ( _elsIelseExists,_elsIglobalDefinitions,_elsIidentifier,_elsIisInModule,_elsImtokenPos,_elsIscopes,_elsIvariableStyle,_elsIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elsIglobalDefinitions+ {-# LINE 10881 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _condIidentifier (const _bodyIidentifier (const _elifsIidentifier _elsIidentifier)))+ {-# LINE 10886 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 368 "src/GLuaFixer/AG/ASTLint.ag" #-}+ not _elifsIelseExists && not _elsIelseExists+ {-# LINE 10891 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elsIisInModule+ {-# LINE 10896 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elsImtokenPos+ {-# LINE 10901 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elsIscopes+ {-# LINE 10906 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _elsIvariableStyle+ {-# LINE 10911 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 392 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _condIwarnings ++ _bodyIwarnings ++ _elifsIwarnings ++ _elsIwarnings+ {-# LINE 10916 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 377 "src/GLuaFixer/AG/ASTLint.ag" #-}+ case (_elifsIelseExists, _elsIelseExists) of+ (False, False) -> _lhsImtokenPos+ (True, _) -> Region (rgStart _lhsImtokenPos) (rgStart _elifsImtokenPos)+ (False, True) -> Region (rgStart _lhsImtokenPos) (rgStart _elsImtokenPos)+ {-# LINE 10924 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _ifBlockPos ->+ (case (({-# LINE 392 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else+ (:) $ warn _ifBlockPos EmptyIf+ {-# LINE 10930 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f2 ->+ (case (({-# LINE 392 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_redundantIfStatements _lhsIconfig) || _bodyIstatementCount /= 1 || not _bodyIisIfStatement || _elifsIelseExists || _elsIelseExists then id else+ (:) $ warn _bodyImtokenPos DoubleIf+ {-# LINE 10936 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 392 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]+ {-# LINE 10941 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_AIf_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) }) }) }) })+sem_Stat_ANFor :: T_MToken ->+ T_MExpr ->+ T_MExpr ->+ T_MExpr ->+ T_Block ->+ T_Stat+sem_Stat_ANFor var_ val_ to_ step_ body_ =+ (case (body_) of+ { ( _bodyIcopy,body_1) ->+ (case (step_) of+ { ( _stepIcopy,_stepImtokenPos,step_1) ->+ (case (to_) of+ { ( _toIcopy,_toImtokenPos,to_1) ->+ (case (val_) of+ { ( _valIcopy,_valImtokenPos,val_1) ->+ (case (var_) of+ { ( _varIcopy,_varImtok,_varImtokenPos,var_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ANFor _varIcopy _valIcopy _toIcopy _stepIcopy _bodyIcopy+ {-# LINE 10967 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 10972 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_ANFor_1 :: T_Stat_1+ sem_Stat_ANFor_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 10989 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 10994 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varOisInModule ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 10999 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varOscopes ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 11004 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varOmtokenPos ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 11009 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varOisMeta ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 11014 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 11019 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11024 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _varOconfig ->+ (case (var_1 _varOconfig _varOfuncName _varOglobalDefinitions _varOisInModule _varOisMeta _varOmtokenPos _varOscopes) of+ { ( _varIglobalDefinitions,_varIidentifier,_varIisInModule,_varIscopes,_varIwarnings) ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varIisInModule+ {-# LINE 11031 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOisInModule ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 11036 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varIscopes+ {-# LINE 11041 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 11046 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varImtokenPos+ {-# LINE 11051 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 11056 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 11061 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOisMeta ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varIglobalDefinitions+ {-# LINE 11066 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 11071 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11076 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOconfig ->+ (case (({-# LINE 400 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 11081 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOvarBeingDefined ->+ (case (({-# LINE 399 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 11086 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOtopLevel ->+ (case (({-# LINE 398 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11091 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOinParentheses ->+ (case (({-# LINE 397 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11096 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valOisNegation ->+ (case (val_1 _valOconfig _valOfuncName _valOglobalDefinitions _valOinParentheses _valOisInModule _valOisMeta _valOisNegation _valOloopLevel _valOmtokenPos _valOscopeLevel _valOscopes _valOtopLevel _valOvarBeingDefined _valOvariableStyle) of+ { ( _valIglobalDefinitions,_valIidentifier,_valIisInModule,_valIisSimpleExpression,_valIisSingleVar,_valIscopes,_valIvariableStyle,_valIwarnings) ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valIisInModule+ {-# LINE 11103 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOisInModule ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valIvariableStyle+ {-# LINE 11108 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valIscopes+ {-# LINE 11113 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 11118 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valImtokenPos+ {-# LINE 11123 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 11128 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 11133 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOisMeta ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valIglobalDefinitions+ {-# LINE 11138 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 11143 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11148 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOconfig ->+ (case (({-# LINE 404 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 11153 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOvarBeingDefined ->+ (case (({-# LINE 403 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 11158 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOtopLevel ->+ (case (({-# LINE 402 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11163 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOinParentheses ->+ (case (({-# LINE 401 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11168 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _toOisNegation ->+ (case (to_1 _toOconfig _toOfuncName _toOglobalDefinitions _toOinParentheses _toOisInModule _toOisMeta _toOisNegation _toOloopLevel _toOmtokenPos _toOscopeLevel _toOscopes _toOtopLevel _toOvarBeingDefined _toOvariableStyle) of+ { ( _toIglobalDefinitions,_toIidentifier,_toIisInModule,_toIisSimpleExpression,_toIisSingleVar,_toIscopes,_toIvariableStyle,_toIwarnings) ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _toIisInModule+ {-# LINE 11175 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOisInModule ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _toIvariableStyle+ {-# LINE 11180 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _toIscopes+ {-# LINE 11185 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 11190 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _toImtokenPos+ {-# LINE 11195 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 11200 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 11205 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOisMeta ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _toIglobalDefinitions+ {-# LINE 11210 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 11215 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11220 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOconfig ->+ (case (({-# LINE 409 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nothing+ {-# LINE 11225 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOvarBeingDefined ->+ (case (({-# LINE 408 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 11230 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOtopLevel ->+ (case (({-# LINE 407 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11235 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOinParentheses ->+ (case (({-# LINE 406 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11240 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _stepOisNegation ->+ (case (step_1 _stepOconfig _stepOfuncName _stepOglobalDefinitions _stepOinParentheses _stepOisInModule _stepOisMeta _stepOisNegation _stepOloopLevel _stepOmtokenPos _stepOscopeLevel _stepOscopes _stepOtopLevel _stepOvarBeingDefined _stepOvariableStyle) of+ { ( _stepIglobalDefinitions,_stepIidentifier,_stepIisInModule,_stepIisSimpleExpression,_stepIisSingleVar,_stepIscopes,_stepIvariableStyle,_stepIwarnings) ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _stepIisInModule+ {-# LINE 11247 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _stepIglobalDefinitions+ {-# LINE 11252 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11257 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOconfig ->+ (case (({-# LINE 410 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.singleton _varIidentifier (not (lint_unusedLoopVars _lhsIconfig), _varImtokenPos) : _stepIscopes+ {-# LINE 11262 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _stepIvariableStyle+ {-# LINE 11267 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 11272 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _stepImtokenPos+ {-# LINE 11277 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOmtokenPos ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 11282 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOfuncName ->+ (case (({-# LINE 405 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11287 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisRepeat ->+ (case (({-# LINE 396 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel + 1+ {-# LINE 11292 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOloopLevel ->+ (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of+ { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIglobalDefinitions+ {-# LINE 11299 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _varIidentifier (const _valIidentifier (const _toIidentifier (const _stepIidentifier _bodyIidentifier))))+ {-# LINE 11304 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 395 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11309 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIisInModule+ {-# LINE 11314 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyImtokenPos+ {-# LINE 11319 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIscopes+ {-# LINE 11324 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIvariableStyle+ {-# LINE 11329 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 414 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _varIwarnings ++ _valIwarnings ++ _toIwarnings ++ _stepIwarnings ++ _bodyIwarnings+ {-# LINE 11334 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 411 "src/GLuaFixer/AG/ASTLint.ag" #-}+ checkShadows _lhsIscopes _varIcopy+ {-# LINE 11339 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _shadowWarning ->+ (case (({-# LINE 414 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_shadowing _lhsIconfig) || isNothing _shadowWarning then id else+ (:) . fromMaybe (error "fromMaybe ANFor +warnings") $ _shadowWarning+ {-# LINE 11345 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f2 ->+ (case (({-# LINE 414 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else+ (:) $ warn _lhsImtokenPos EmptyFor+ {-# LINE 11351 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 414 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]+ {-# LINE 11356 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_ANFor_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) }) }) }) }) })+sem_Stat_AGFor :: ([MToken]) ->+ T_MExprList ->+ T_Block ->+ T_Stat+sem_Stat_AGFor vars_ vals_ body_ =+ (case (body_) of+ { ( _bodyIcopy,body_1) ->+ (case (vals_) of+ { ( _valsIcopy,vals_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AGFor vars_ _valsIcopy _bodyIcopy+ {-# LINE 11374 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 11379 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_AGFor_1 :: T_Stat_1+ sem_Stat_AGFor_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 11396 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 11401 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOisInModule ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 11406 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 11411 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 11416 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 11421 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 11426 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOloopLevel ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 11431 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOisMeta ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 11436 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 11441 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11446 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOconfig ->+ (case (({-# LINE 419 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 11451 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOtopLevel ->+ (case (({-# LINE 418 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 11456 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _valsOinParentheses ->+ (case (vals_1 _valsOconfig _valsOfuncName _valsOglobalDefinitions _valsOinParentheses _valsOisInModule _valsOisMeta _valsOloopLevel _valsOmtokenPos _valsOscopeLevel _valsOscopes _valsOtopLevel _valsOvariableStyle) of+ { ( _valsIglobalDefinitions,_valsIidentifier,_valsIisInModule,_valsImtokenPos,_valsIscopes,_valsIvariableStyle,_valsIwarnings) ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valsIisInModule+ {-# LINE 11463 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valsIglobalDefinitions+ {-# LINE 11468 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11473 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOconfig ->+ (case (({-# LINE 423 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.fromList $ map (\mt -> (tokenLabel mt, (not (lint_unusedLoopVars _lhsIconfig), mpos mt))) vars_+ {-# LINE 11478 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _introduces ->+ (case (({-# LINE 424 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _introduces : _valsIscopes+ {-# LINE 11483 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valsIvariableStyle+ {-# LINE 11488 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 11493 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valsImtokenPos+ {-# LINE 11498 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOmtokenPos ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 11503 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOfuncName ->+ (case (({-# LINE 421 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11508 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisRepeat ->+ (case (({-# LINE 420 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel + 1+ {-# LINE 11513 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOloopLevel ->+ (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of+ { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIglobalDefinitions+ {-# LINE 11520 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _valsIidentifier _bodyIidentifier)+ {-# LINE 11525 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 417 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11530 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIisInModule+ {-# LINE 11535 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyImtokenPos+ {-# LINE 11540 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIscopes+ {-# LINE 11545 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIvariableStyle+ {-# LINE 11550 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 427 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _valsIwarnings ++ _bodyIwarnings+ {-# LINE 11555 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 427 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_shadowing _lhsIconfig) then id else+ (++) . catMaybes . map (checkShadows _lhsIscopes) $ vars_+ {-# LINE 11561 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f2 ->+ (case (({-# LINE 427 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_emptyBlocks _lhsIconfig) || _bodyIstatementCount > 0 then id else+ (:) $ warn _lhsImtokenPos EmptyFor+ {-# LINE 11567 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 427 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]+ {-# LINE 11572 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_AGFor_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) }) })+sem_Stat_AFunc :: T_FuncName ->+ ([MToken]) ->+ T_Block ->+ T_Stat+sem_Stat_AFunc name_ args_ body_ =+ (case (body_) of+ { ( _bodyIcopy,body_1) ->+ (case (name_) of+ { ( _nameIcopy,_nameIisMeta,name_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AFunc _nameIcopy args_ _bodyIcopy+ {-# LINE 11590 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 11595 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_AFunc_1 :: T_Stat_1+ sem_Stat_AFunc_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 11612 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOisInModule ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 11617 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 11622 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 11627 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 11632 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 11637 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOloopLevel ->+ (case (({-# LINE 442 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIisMeta || findSelf args_ || _lhsIisMeta+ {-# LINE 11642 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _isMeta ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _isMeta+ {-# LINE 11647 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOisMeta ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 11652 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 11657 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11662 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOconfig ->+ (case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOloopLevel _nameOmtokenPos _nameOscopeLevel _nameOscopes _nameOvariableStyle) of+ { ( _nameIglobalDefinitions,_nameIhasSuffixes,_nameIidentifier,_nameIisInModule,_nameImtokenPos,_nameIscopes,_nameIvariableStyle,_nameIwarnings) ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIisInModule+ {-# LINE 11669 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIglobalDefinitions+ {-# LINE 11674 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11679 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOconfig ->+ (case (({-# LINE 443 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _isMeta+ {-# LINE 11684 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisMeta ->+ (case (({-# LINE 431 "src/GLuaFixer/AG/ASTLint.ag" #-}+ filter (/= MToken emptyRg VarArg) $ args_+ {-# LINE 11689 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argIdentifiers ->+ (case (({-# LINE 433 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (if _isMeta then M.insert "self" (True, _nameImtokenPos) else id) $+ M.fromList . map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) $ _argIdentifiers+ {-# LINE 11695 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _introduces ->+ (case (({-# LINE 435 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _introduces : (registerVariable _nameIscopes _nameImtokenPos _nameIidentifier True)+ {-# LINE 11700 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIvariableStyle+ {-# LINE 11705 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 11710 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameImtokenPos+ {-# LINE 11715 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 11720 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOloopLevel ->+ (case (({-# LINE 444 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIidentifier+ {-# LINE 11725 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOfuncName ->+ (case (({-# LINE 432 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11730 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisRepeat ->+ (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of+ { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->+ (case (({-# LINE 437 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIglobalDefinitions+ {-# LINE 11737 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _globalDefinitions_augmented_syn ->+ (case (({-# LINE 437 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if _lhsIisInModule || isVariableLocal _lhsIscopes _nameIidentifier || _nameIisMeta || _nameIhasSuffixes then id else+ M.insertWith (++) _nameIidentifier [_nameImtokenPos]+ {-# LINE 11743 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _globalDefinitions_augmented_f1 ->+ (case (({-# LINE 437 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _globalDefinitions_augmented_syn [_globalDefinitions_augmented_f1]+ {-# LINE 11748 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _nameIidentifier _bodyIidentifier)+ {-# LINE 11753 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 430 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11758 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIisInModule+ {-# LINE 11763 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyImtokenPos+ {-# LINE 11768 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIscopes+ {-# LINE 11773 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIvariableStyle+ {-# LINE 11778 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 440 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIwarnings ++ _bodyIwarnings+ {-# LINE 11783 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 440 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_shadowing _lhsIconfig) then id else+ (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers+ {-# LINE 11789 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 440 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 11794 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_AFunc_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) }) })+sem_Stat_ALocFunc :: T_FuncName ->+ ([MToken]) ->+ T_Block ->+ T_Stat+sem_Stat_ALocFunc name_ args_ body_ =+ (case (body_) of+ { ( _bodyIcopy,body_1) ->+ (case (name_) of+ { ( _nameIcopy,_nameIisMeta,name_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ALocFunc _nameIcopy args_ _bodyIcopy+ {-# LINE 11812 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 11817 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_Stat_ALocFunc_1 :: T_Stat_1+ sem_Stat_ALocFunc_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 11834 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOisInModule ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 11839 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 11844 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOscopes ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 11849 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 11854 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 11859 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOloopLevel ->+ (case (({-# LINE 455 "src/GLuaFixer/AG/ASTLint.ag" #-}+ findSelf args_ || _lhsIisMeta+ {-# LINE 11864 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _isMeta ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _isMeta+ {-# LINE 11869 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOisMeta ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 11874 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 11879 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOfuncName ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11884 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _nameOconfig ->+ (case (name_1 _nameOconfig _nameOfuncName _nameOglobalDefinitions _nameOisInModule _nameOisMeta _nameOloopLevel _nameOmtokenPos _nameOscopeLevel _nameOscopes _nameOvariableStyle) of+ { ( _nameIglobalDefinitions,_nameIhasSuffixes,_nameIidentifier,_nameIisInModule,_nameImtokenPos,_nameIscopes,_nameIvariableStyle,_nameIwarnings) ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIisInModule+ {-# LINE 11891 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIglobalDefinitions+ {-# LINE 11896 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 11901 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOconfig ->+ (case (({-# LINE 456 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _isMeta+ {-# LINE 11906 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisMeta ->+ (case (({-# LINE 453 "src/GLuaFixer/AG/ASTLint.ag" #-}+ M.insert _nameIidentifier (False, _nameImtokenPos) (head _nameIscopes) : tail _nameIscopes+ {-# LINE 11911 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _passedScopes ->+ (case (({-# LINE 447 "src/GLuaFixer/AG/ASTLint.ag" #-}+ filter (/= MToken emptyRg VarArg) $ args_+ {-# LINE 11916 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _argIdentifiers ->+ (case (({-# LINE 449 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (if _isMeta then M.insert "self" (True, _nameImtokenPos) else id) $+ M.fromList . map (\mt -> (tokenLabel mt, (not . lint_unusedParameters $ _lhsIconfig, mpos mt))) $ _argIdentifiers+ {-# LINE 11922 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _introduces ->+ (case (({-# LINE 454 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _introduces : _passedScopes+ {-# LINE 11927 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIvariableStyle+ {-# LINE 11932 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 11937 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameImtokenPos+ {-# LINE 11942 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 11947 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOloopLevel ->+ (case (({-# LINE 457 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIidentifier+ {-# LINE 11952 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOfuncName ->+ (case (({-# LINE 448 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11957 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _bodyOisRepeat ->+ (case (body_1 _bodyOconfig _bodyOfuncName _bodyOglobalDefinitions _bodyOisInModule _bodyOisMeta _bodyOisRepeat _bodyOloopLevel _bodyOmtokenPos _bodyOscopeLevel _bodyOscopes _bodyOvariableStyle) of+ { ( _bodyIglobalDefinitions,_bodyIidentifier,_bodyIisIfStatement,_bodyIisInModule,_bodyImtokenPos,_bodyIscopes,_bodyIstatementCount,_bodyIvariableStyle,_bodyIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIglobalDefinitions+ {-# LINE 11964 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _nameIidentifier _bodyIidentifier)+ {-# LINE 11969 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 446 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 11974 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisIfStatement ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIisInModule+ {-# LINE 11979 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyImtokenPos+ {-# LINE 11984 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIscopes+ {-# LINE 11989 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _bodyIvariableStyle+ {-# LINE 11994 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 463 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _nameIwarnings ++ _bodyIwarnings+ {-# LINE 11999 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 452 "src/GLuaFixer/AG/ASTLint.ag" #-}+ MToken _nameImtokenPos (Identifier _nameIidentifier)+ {-# LINE 12004 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _funcname ->+ (case (({-# LINE 462 "src/GLuaFixer/AG/ASTLint.ag" #-}+ checkShadows _lhsIscopes _funcname+ {-# LINE 12009 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _funcNameShadows ->+ (case (({-# LINE 463 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_shadowing _lhsIconfig) then id else+ (++) . catMaybes . map (checkShadows _lhsIscopes) $ _argIdentifiers+ {-# LINE 12015 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f2 ->+ (case (({-# LINE 463 "src/GLuaFixer/AG/ASTLint.ag" #-}+ if not (lint_shadowing _lhsIconfig) || isNothing _funcNameShadows then id else+ (:) . fromMaybe (error "fromMaybe ALocFunc +warnings") $ _funcNameShadows+ {-# LINE 12021 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 463 "src/GLuaFixer/AG/ASTLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]+ {-# LINE 12026 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisIfStatement,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Stat_ALocFunc_1)) of+ { ( sem_Stat_1) ->+ ( _lhsOcopy,sem_Stat_1) }) }) }) }) })+-- Token -------------------------------------------------------+-- cata+sem_Token :: Token ->+ T_Token+sem_Token (Whitespace _space) =+ (sem_Token_Whitespace _space)+sem_Token (DashComment _comment) =+ (sem_Token_DashComment _comment)+sem_Token (DashBlockComment _depth _comment) =+ (sem_Token_DashBlockComment _depth _comment)+sem_Token (SlashComment _comment) =+ (sem_Token_SlashComment _comment)+sem_Token (SlashBlockComment _comment) =+ (sem_Token_SlashBlockComment _comment)+sem_Token (Semicolon) =+ (sem_Token_Semicolon)+sem_Token (TNumber _num) =+ (sem_Token_TNumber _num)+sem_Token (DQString _str) =+ (sem_Token_DQString _str)+sem_Token (SQString _str) =+ (sem_Token_SQString _str)+sem_Token (MLString _str) =+ (sem_Token_MLString _str)+sem_Token (TTrue) =+ (sem_Token_TTrue)+sem_Token (TFalse) =+ (sem_Token_TFalse)+sem_Token (Nil) =+ (sem_Token_Nil)+sem_Token (VarArg) =+ (sem_Token_VarArg)+sem_Token (Plus) =+ (sem_Token_Plus)+sem_Token (Minus) =+ (sem_Token_Minus)+sem_Token (Multiply) =+ (sem_Token_Multiply)+sem_Token (Divide) =+ (sem_Token_Divide)+sem_Token (Modulus) =+ (sem_Token_Modulus)+sem_Token (Power) =+ (sem_Token_Power)+sem_Token (TEq) =+ (sem_Token_TEq)+sem_Token (TNEq) =+ (sem_Token_TNEq)+sem_Token (TCNEq) =+ (sem_Token_TCNEq)+sem_Token (TLEQ) =+ (sem_Token_TLEQ)+sem_Token (TGEQ) =+ (sem_Token_TGEQ)+sem_Token (TLT) =+ (sem_Token_TLT)+sem_Token (TGT) =+ (sem_Token_TGT)+sem_Token (Equals) =+ (sem_Token_Equals)+sem_Token (Concatenate) =+ (sem_Token_Concatenate)+sem_Token (Colon) =+ (sem_Token_Colon)+sem_Token (Dot) =+ (sem_Token_Dot)+sem_Token (Comma) =+ (sem_Token_Comma)+sem_Token (Hash) =+ (sem_Token_Hash)+sem_Token (Not) =+ (sem_Token_Not)+sem_Token (CNot) =+ (sem_Token_CNot)+sem_Token (And) =+ (sem_Token_And)+sem_Token (CAnd) =+ (sem_Token_CAnd)+sem_Token (Or) =+ (sem_Token_Or)+sem_Token (COr) =+ (sem_Token_COr)+sem_Token (Function) =+ (sem_Token_Function)+sem_Token (Local) =+ (sem_Token_Local)+sem_Token (If) =+ (sem_Token_If)+sem_Token (Then) =+ (sem_Token_Then)+sem_Token (Elseif) =+ (sem_Token_Elseif)+sem_Token (Else) =+ (sem_Token_Else)+sem_Token (For) =+ (sem_Token_For)+sem_Token (In) =+ (sem_Token_In)+sem_Token (Do) =+ (sem_Token_Do)+sem_Token (While) =+ (sem_Token_While)+sem_Token (Until) =+ (sem_Token_Until)+sem_Token (Repeat) =+ (sem_Token_Repeat)+sem_Token (Continue) =+ (sem_Token_Continue)+sem_Token (Break) =+ (sem_Token_Break)+sem_Token (Return) =+ (sem_Token_Return)+sem_Token (End) =+ (sem_Token_End)+sem_Token (LRound) =+ (sem_Token_LRound)+sem_Token (RRound) =+ (sem_Token_RRound)+sem_Token (LCurly) =+ (sem_Token_LCurly)+sem_Token (RCurly) =+ (sem_Token_RCurly)+sem_Token (LSquare) =+ (sem_Token_LSquare)+sem_Token (RSquare) =+ (sem_Token_RSquare)+sem_Token (Label _whitespaceBefore _lbl _whitespaceAfter) =+ (sem_Token_Label _whitespaceBefore _lbl _whitespaceAfter)+sem_Token (Identifier _ident) =+ (sem_Token_Identifier _ident)+-- semantic domain+type T_Token = ( Token,String,([String -> LintMessage]))+data Inh_Token = Inh_Token {}+data Syn_Token = Syn_Token {copy_Syn_Token :: Token,identifier_Syn_Token :: String,warnings_Syn_Token :: ([String -> LintMessage])}+wrap_Token :: T_Token ->+ Inh_Token ->+ Syn_Token+wrap_Token sem (Inh_Token) =+ (let ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) = sem+ in (Syn_Token _lhsOcopy _lhsOidentifier _lhsOwarnings))+sem_Token_Whitespace :: String ->+ T_Token+sem_Token_Whitespace space_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Whitespace space_+ {-# LINE 12178 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12183 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12188 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12193 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_DashComment :: String ->+ T_Token+sem_Token_DashComment comment_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ DashComment comment_+ {-# LINE 12202 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12207 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12212 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12217 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_DashBlockComment :: Int ->+ String ->+ T_Token+sem_Token_DashBlockComment depth_ comment_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ DashBlockComment depth_ comment_+ {-# LINE 12227 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12232 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12237 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12242 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_SlashComment :: String ->+ T_Token+sem_Token_SlashComment comment_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ SlashComment comment_+ {-# LINE 12251 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12256 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12261 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12266 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_SlashBlockComment :: String ->+ T_Token+sem_Token_SlashBlockComment comment_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ SlashBlockComment comment_+ {-# LINE 12275 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12280 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12285 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12290 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Semicolon :: T_Token+sem_Token_Semicolon =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Semicolon+ {-# LINE 12298 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12303 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12308 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12313 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_TNumber :: String ->+ T_Token+sem_Token_TNumber num_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TNumber num_+ {-# LINE 12322 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12327 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12332 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12337 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_DQString :: String ->+ T_Token+sem_Token_DQString str_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ DQString str_+ {-# LINE 12346 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12351 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12356 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12361 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_SQString :: String ->+ T_Token+sem_Token_SQString str_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ SQString str_+ {-# LINE 12370 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12375 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12380 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12385 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_MLString :: String ->+ T_Token+sem_Token_MLString str_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ MLString str_+ {-# LINE 12394 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12399 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12404 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12409 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_TTrue :: T_Token+sem_Token_TTrue =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TTrue+ {-# LINE 12417 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12422 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12427 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12432 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_TFalse :: T_Token+sem_Token_TFalse =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TFalse+ {-# LINE 12440 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12445 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12450 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12455 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Nil :: T_Token+sem_Token_Nil =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Nil+ {-# LINE 12463 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12468 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12473 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12478 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_VarArg :: T_Token+sem_Token_VarArg =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ VarArg+ {-# LINE 12486 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12491 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12496 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12501 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Plus :: T_Token+sem_Token_Plus =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Plus+ {-# LINE 12509 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12514 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12519 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12524 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Minus :: T_Token+sem_Token_Minus =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Minus+ {-# LINE 12532 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12537 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12542 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12547 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Multiply :: T_Token+sem_Token_Multiply =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Multiply+ {-# LINE 12555 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12560 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12565 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12570 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Divide :: T_Token+sem_Token_Divide =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Divide+ {-# LINE 12578 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12583 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12588 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12593 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Modulus :: T_Token+sem_Token_Modulus =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Modulus+ {-# LINE 12601 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12606 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12611 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12616 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Power :: T_Token+sem_Token_Power =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Power+ {-# LINE 12624 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12629 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12634 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12639 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_TEq :: T_Token+sem_Token_TEq =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TEq+ {-# LINE 12647 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12652 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12657 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12662 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_TNEq :: T_Token+sem_Token_TNEq =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TNEq+ {-# LINE 12670 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12675 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12680 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12685 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_TCNEq :: T_Token+sem_Token_TCNEq =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TCNEq+ {-# LINE 12693 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12698 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12703 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12708 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_TLEQ :: T_Token+sem_Token_TLEQ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TLEQ+ {-# LINE 12716 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12721 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12726 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12731 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_TGEQ :: T_Token+sem_Token_TGEQ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TGEQ+ {-# LINE 12739 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12744 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12749 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12754 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_TLT :: T_Token+sem_Token_TLT =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TLT+ {-# LINE 12762 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12767 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12772 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12777 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_TGT :: T_Token+sem_Token_TGT =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ TGT+ {-# LINE 12785 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12790 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12795 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12800 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Equals :: T_Token+sem_Token_Equals =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Equals+ {-# LINE 12808 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12813 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12818 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12823 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Concatenate :: T_Token+sem_Token_Concatenate =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Concatenate+ {-# LINE 12831 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12836 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12841 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12846 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Colon :: T_Token+sem_Token_Colon =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Colon+ {-# LINE 12854 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12859 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12864 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12869 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Dot :: T_Token+sem_Token_Dot =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Dot+ {-# LINE 12877 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12882 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12887 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12892 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Comma :: T_Token+sem_Token_Comma =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Comma+ {-# LINE 12900 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12905 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12910 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12915 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Hash :: T_Token+sem_Token_Hash =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Hash+ {-# LINE 12923 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12928 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12933 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12938 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Not :: T_Token+sem_Token_Not =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Not+ {-# LINE 12946 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12951 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12956 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12961 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_CNot :: T_Token+sem_Token_CNot =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ CNot+ {-# LINE 12969 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12974 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 12979 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 12984 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_And :: T_Token+sem_Token_And =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ And+ {-# LINE 12992 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 12997 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13002 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13007 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_CAnd :: T_Token+sem_Token_CAnd =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ CAnd+ {-# LINE 13015 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13020 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13025 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13030 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Or :: T_Token+sem_Token_Or =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Or+ {-# LINE 13038 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13043 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13048 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13053 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_COr :: T_Token+sem_Token_COr =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ COr+ {-# LINE 13061 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13066 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13071 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13076 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Function :: T_Token+sem_Token_Function =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Function+ {-# LINE 13084 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13089 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13094 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13099 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Local :: T_Token+sem_Token_Local =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Local+ {-# LINE 13107 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13112 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13117 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13122 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_If :: T_Token+sem_Token_If =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ If+ {-# LINE 13130 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13135 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13140 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13145 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Then :: T_Token+sem_Token_Then =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Then+ {-# LINE 13153 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13158 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13163 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13168 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Elseif :: T_Token+sem_Token_Elseif =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Elseif+ {-# LINE 13176 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13181 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13186 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13191 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Else :: T_Token+sem_Token_Else =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Else+ {-# LINE 13199 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13204 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13209 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13214 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_For :: T_Token+sem_Token_For =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ For+ {-# LINE 13222 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13227 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13232 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13237 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_In :: T_Token+sem_Token_In =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ In+ {-# LINE 13245 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13250 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13255 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13260 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Do :: T_Token+sem_Token_Do =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Do+ {-# LINE 13268 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13273 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13278 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13283 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_While :: T_Token+sem_Token_While =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ While+ {-# LINE 13291 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13296 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13301 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13306 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Until :: T_Token+sem_Token_Until =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Until+ {-# LINE 13314 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13319 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13324 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13329 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Repeat :: T_Token+sem_Token_Repeat =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Repeat+ {-# LINE 13337 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13342 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13347 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13352 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Continue :: T_Token+sem_Token_Continue =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Continue+ {-# LINE 13360 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13365 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13370 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13375 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Break :: T_Token+sem_Token_Break =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Break+ {-# LINE 13383 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13388 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13393 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13398 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Return :: T_Token+sem_Token_Return =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Return+ {-# LINE 13406 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13411 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13416 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13421 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_End :: T_Token+sem_Token_End =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ End+ {-# LINE 13429 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13434 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13439 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13444 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_LRound :: T_Token+sem_Token_LRound =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ LRound+ {-# LINE 13452 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13457 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13462 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13467 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_RRound :: T_Token+sem_Token_RRound =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ RRound+ {-# LINE 13475 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13480 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13485 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13490 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_LCurly :: T_Token+sem_Token_LCurly =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ LCurly+ {-# LINE 13498 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13503 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13508 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13513 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_RCurly :: T_Token+sem_Token_RCurly =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ RCurly+ {-# LINE 13521 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13526 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13531 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13536 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_LSquare :: T_Token+sem_Token_LSquare =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ LSquare+ {-# LINE 13544 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13549 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13554 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13559 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_RSquare :: T_Token+sem_Token_RSquare =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ RSquare+ {-# LINE 13567 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13572 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13577 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13582 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Label :: String ->+ String ->+ String ->+ T_Token+sem_Token_Label whitespaceBefore_ lbl_ whitespaceAfter_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Label whitespaceBefore_ lbl_ whitespaceAfter_+ {-# LINE 13593 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13598 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 221 "src/GLuaFixer/AG/ASTLint.ag" #-}+ lbl_+ {-# LINE 13603 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13608 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+sem_Token_Identifier :: String ->+ T_Token+sem_Token_Identifier ident_ =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ Identifier ident_+ {-# LINE 13617 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13622 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 223 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ident_+ {-# LINE 13627 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13632 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOcopy,_lhsOidentifier,_lhsOwarnings) }) }) }) })+-- UnOp --------------------------------------------------------+-- cata+sem_UnOp :: UnOp ->+ T_UnOp+sem_UnOp (UnMinus) =+ (sem_UnOp_UnMinus)+sem_UnOp (ANot) =+ (sem_UnOp_ANot)+sem_UnOp (AHash) =+ (sem_UnOp_AHash)+-- semantic domain+type T_UnOp = ( UnOp,T_UnOp_1)+type T_UnOp_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_UnOp = Inh_UnOp {config_Inh_UnOp :: LintSettings,funcName_Inh_UnOp :: String,globalDefinitions_Inh_UnOp :: (M.Map String [Region]),isInModule_Inh_UnOp :: Bool,isMeta_Inh_UnOp :: Bool,loopLevel_Inh_UnOp :: Int,mtokenPos_Inh_UnOp :: Region,scopeLevel_Inh_UnOp :: Int,scopes_Inh_UnOp :: ([M.Map String (Bool, Region)]),variableStyle_Inh_UnOp :: DeterminedVariableStyle}+data Syn_UnOp = Syn_UnOp {copy_Syn_UnOp :: UnOp,globalDefinitions_Syn_UnOp :: (M.Map String [Region]),identifier_Syn_UnOp :: String,isInModule_Syn_UnOp :: Bool,isNegation_Syn_UnOp :: Bool,mtokenPos_Syn_UnOp :: Region,scopes_Syn_UnOp :: ([M.Map String (Bool, Region)]),variableStyle_Syn_UnOp :: DeterminedVariableStyle,warnings_Syn_UnOp :: ([String -> LintMessage])}+wrap_UnOp :: T_UnOp ->+ Inh_UnOp ->+ Syn_UnOp+wrap_UnOp sem (Inh_UnOp _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisNegation,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_UnOp _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOisNegation _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_UnOp_UnMinus :: T_UnOp+sem_UnOp_UnMinus =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ UnMinus+ {-# LINE 13672 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13677 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_UnOp_UnMinus_1 :: T_UnOp_1+ sem_UnOp_UnMinus_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 13694 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13699 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 13704 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 652 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 13709 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisNegation ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 13714 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 13719 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 13724 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13729 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisNegation,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_UnOp_UnMinus_1)) of+ { ( sem_UnOp_1) ->+ ( _lhsOcopy,sem_UnOp_1) }) }) })+sem_UnOp_ANot :: T_UnOp+sem_UnOp_ANot =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ ANot+ {-# LINE 13740 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13745 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_UnOp_ANot_1 :: T_UnOp_1+ sem_UnOp_ANot_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 13762 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13767 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 13772 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 654 "src/GLuaFixer/AG/ASTLint.ag" #-}+ True+ {-# LINE 13777 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisNegation ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 13782 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 13787 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 13792 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13797 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisNegation,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_UnOp_ANot_1)) of+ { ( sem_UnOp_1) ->+ ( _lhsOcopy,sem_UnOp_1) }) }) })+sem_UnOp_AHash :: T_UnOp+sem_UnOp_AHash =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ AHash+ {-# LINE 13808 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13813 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_UnOp_AHash_1 :: T_UnOp_1+ sem_UnOp_AHash_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 13830 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 13835 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 13840 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 656 "src/GLuaFixer/AG/ASTLint.ag" #-}+ False+ {-# LINE 13845 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisNegation ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 13850 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 13855 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 13860 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 13865 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOisNegation,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }))+ in sem_UnOp_AHash_1)) of+ { ( sem_UnOp_1) ->+ ( _lhsOcopy,sem_UnOp_1) }) }) })+-- VarsList ----------------------------------------------------+-- cata+sem_VarsList :: VarsList ->+ T_VarsList+sem_VarsList list =+ (Prelude.foldr sem_VarsList_Cons sem_VarsList_Nil (Prelude.map sem_Declaration list))+-- semantic domain+type T_VarsList = ( VarsList,T_VarsList_1)+type T_VarsList_1 = LintSettings ->+ String ->+ (M.Map String [Region]) ->+ Bool ->+ Bool ->+ Bool ->+ Int ->+ Region ->+ Int ->+ ([M.Map String (Bool, Region)]) ->+ DeterminedVariableStyle ->+ ( (M.Map String [Region]),String,Bool,Region,([M.Map String (Bool, Region)]),DeterminedVariableStyle,([String -> LintMessage]))+data Inh_VarsList = Inh_VarsList {config_Inh_VarsList :: LintSettings,funcName_Inh_VarsList :: String,globalDefinitions_Inh_VarsList :: (M.Map String [Region]),isInModule_Inh_VarsList :: Bool,isMeta_Inh_VarsList :: Bool,localDefinition_Inh_VarsList :: Bool,loopLevel_Inh_VarsList :: Int,mtokenPos_Inh_VarsList :: Region,scopeLevel_Inh_VarsList :: Int,scopes_Inh_VarsList :: ([M.Map String (Bool, Region)]),variableStyle_Inh_VarsList :: DeterminedVariableStyle}+data Syn_VarsList = Syn_VarsList {copy_Syn_VarsList :: VarsList,globalDefinitions_Syn_VarsList :: (M.Map String [Region]),identifier_Syn_VarsList :: String,isInModule_Syn_VarsList :: Bool,mtokenPos_Syn_VarsList :: Region,scopes_Syn_VarsList :: ([M.Map String (Bool, Region)]),variableStyle_Syn_VarsList :: DeterminedVariableStyle,warnings_Syn_VarsList :: ([String -> LintMessage])}+wrap_VarsList :: T_VarsList ->+ Inh_VarsList ->+ Syn_VarsList+wrap_VarsList sem (Inh_VarsList _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle) =+ (let ( _lhsOcopy,sem_1) = sem+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) = sem_1 _lhsIconfig _lhsIfuncName _lhsIglobalDefinitions _lhsIisInModule _lhsIisMeta _lhsIlocalDefinition _lhsIloopLevel _lhsImtokenPos _lhsIscopeLevel _lhsIscopes _lhsIvariableStyle+ in (Syn_VarsList _lhsOcopy _lhsOglobalDefinitions _lhsOidentifier _lhsOisInModule _lhsOmtokenPos _lhsOscopes _lhsOvariableStyle _lhsOwarnings))+sem_VarsList_Cons :: T_Declaration ->+ T_VarsList ->+ T_VarsList+sem_VarsList_Cons hd_ tl_ =+ (case (tl_) of+ { ( _tlIcopy,tl_1) ->+ (case (hd_) of+ { ( _hdIcopy,hd_1) ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 13911 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 13916 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_VarsList_Cons_1 :: T_VarsList_1+ sem_VarsList_Cons_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIlocalDefinition+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 13934 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopes ->+ (case (({-# LINE 190 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIlocalDefinition+ {-# LINE 13939 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOlocalDefinition ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 13944 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisMeta ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 13949 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 13954 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 13959 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 13964 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 13969 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOloopLevel ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 13974 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 13979 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOglobalDefinitions ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 13984 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _hdOfuncName ->+ (case (hd_1 _hdOconfig _hdOfuncName _hdOglobalDefinitions _hdOisInModule _hdOisMeta _hdOlocalDefinition _hdOloopLevel _hdOmtokenPos _hdOscopeLevel _hdOscopes _hdOvariableStyle) of+ { ( _hdIglobalDefinitions,_hdIidentifier,_hdIisInModule,_hdImtokenPos,_hdIscopes,_hdIvariableStyle,_hdIwarnings) ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIscopes+ {-# LINE 13991 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopes ->+ (case (({-# LINE 190 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIlocalDefinition+ {-# LINE 13996 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOlocalDefinition ->+ (case (({-# LINE 146 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisMeta+ {-# LINE 14001 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisMeta ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIisInModule+ {-# LINE 14006 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOisInModule ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIglobalDefinitions+ {-# LINE 14011 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOglobalDefinitions ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIconfig+ {-# LINE 14016 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOconfig ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIvariableStyle+ {-# LINE 14021 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOvariableStyle ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopeLevel+ {-# LINE 14026 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOscopeLevel ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 14031 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOmtokenPos ->+ (case (({-# LINE 129 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIloopLevel+ {-# LINE 14036 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOloopLevel ->+ (case (({-# LINE 147 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIfuncName+ {-# LINE 14041 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _tlOfuncName ->+ (case (tl_1 _tlOconfig _tlOfuncName _tlOglobalDefinitions _tlOisInModule _tlOisMeta _tlOlocalDefinition _tlOloopLevel _tlOmtokenPos _tlOscopeLevel _tlOscopes _tlOvariableStyle) of+ { ( _tlIglobalDefinitions,_tlIidentifier,_tlIisInModule,_tlImtokenPos,_tlIscopes,_tlIvariableStyle,_tlIwarnings) ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIglobalDefinitions+ {-# LINE 14048 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ (const _hdIidentifier _tlIidentifier)+ {-# LINE 14053 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIisInModule+ {-# LINE 14058 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 235 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdImtokenPos+ {-# LINE 14063 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIscopes+ {-# LINE 14068 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _tlIvariableStyle+ {-# LINE 14073 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _hdIwarnings ++ _tlIwarnings+ {-# LINE 14078 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_VarsList_Cons_1)) of+ { ( sem_VarsList_1) ->+ ( _lhsOcopy,sem_VarsList_1) }) }) }) }) })+sem_VarsList_Nil :: T_VarsList+sem_VarsList_Nil =+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 14089 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 154 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _copy+ {-# LINE 14094 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case ((let sem_VarsList_Nil_1 :: T_VarsList_1+ sem_VarsList_Nil_1 =+ (\ _lhsIconfig+ _lhsIfuncName+ _lhsIglobalDefinitions+ _lhsIisInModule+ _lhsIisMeta+ _lhsIlocalDefinition+ _lhsIloopLevel+ _lhsImtokenPos+ _lhsIscopeLevel+ _lhsIscopes+ _lhsIvariableStyle ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIglobalDefinitions+ {-# LINE 14112 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOglobalDefinitions ->+ (case (({-# LINE 155 "src/GLuaFixer/AG/ASTLint.ag" #-}+ unknownIdentifier+ {-# LINE 14117 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOidentifier ->+ (case (({-# LINE 144 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIisInModule+ {-# LINE 14122 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOisInModule ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsImtokenPos+ {-# LINE 14127 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOmtokenPos ->+ (case (({-# LINE 145 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIscopes+ {-# LINE 14132 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOscopes ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/ASTLint.ag" #-}+ _lhsIvariableStyle+ {-# LINE 14137 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOvariableStyle ->+ (case (({-# LINE 153 "src/GLuaFixer/AG/ASTLint.ag" #-}+ []+ {-# LINE 14142 "src/GLuaFixer/AG/ASTLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOglobalDefinitions,_lhsOidentifier,_lhsOisInModule,_lhsOmtokenPos,_lhsOscopes,_lhsOvariableStyle,_lhsOwarnings) }) }) }) }) }) }) }))+ in sem_VarsList_Nil_1)) of+ { ( sem_VarsList_1) ->+ ( _lhsOcopy,sem_VarsList_1) }) }) })
src/GLuaFixer/AG/LexLint.hs view
@@ -1,6871 +1,6120 @@-{-# LANGUAGE CPP #-}-{-# LANGUAGE DeriveGeneric #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- UUAGC 0.9.55 (src/GLuaFixer/AG/LexLint.ag)-module GLuaFixer.AG.LexLint (- lintWarnings,- fixedLexPositions,-) where--{-# LINE 9 "src/GLuaFixer/AG/../../GLua/AG/Token.ag" #-}--import GHC.Generics-import Text.ParserCombinators.UU.BasicInstances hiding (pos)-{-# LINE 19 "src/GLuaFixer/AG/LexLint.hs" #-}--{-# LINE 15 "src/GLuaFixer/AG/LexLint.ag" #-}--import Data.List-import GLua.AG.Token-import GLua.TokenTypes-import GLuaFixer.LintMessage-import GLuaFixer.LintSettings-{-# LINE 28 "src/GLuaFixer/AG/LexLint.hs" #-}-{-# LINE 25 "src/GLuaFixer/AG/LexLint.ag" #-}--------------------------------------------- C-style / Lua-style syntax inconsistencies-------------------------------------------- For detecting the usage of Lua/C syntax inconsistently-data SyntaxUsed = SyntaxUsed {luaUsed :: Bool, cUsed :: Bool} deriving (Show)--instance Semigroup SyntaxUsed where- (SyntaxUsed l1 c1) <> (SyntaxUsed l2 c2) = SyntaxUsed (l1 || l2) (c1 || c2)---- Monoid instance-instance Monoid SyntaxUsed where- mempty = SyntaxUsed False False--mTokenWarning :: Region -> Issue -> FilePath -> LintMessage-mTokenWarning pos issue = LintMessage LintWarning pos issue--isSingleChar :: String -> Bool-isSingleChar [] = True-isSingleChar ('\\' : xs) = length xs == 1-isSingleChar (_ : []) = True-isSingleChar _ = False---- Locate the exact position of trailing whitespace-locateTrailingWhitespace :: LineColPos -> String -> (LineColPos, String)-locateTrailingWhitespace pos (' ' : xs) = (pos, xs)-locateTrailingWhitespace pos ('\t' : xs) = (pos, xs)-locateTrailingWhitespace pos (x : xs) = locateTrailingWhitespace (customAdvanceChr pos x) xs-locateTrailingWhitespace pos [] = (pos, "")---- Locate the start of a line's indentation in a string of whitespace-indentationStart :: LineColPos -> String -> LineColPos-indentationStart pos = go pos pos- where- go :: LineColPos -> LineColPos -> String -> LineColPos- go _ cur ('\n' : xs) = let next = customAdvanceChr cur '\n' in go next next xs- go found cur (x : xs) = go found (customAdvanceChr cur x) xs- go found _ [] = found--endOfTrailingWhitespace :: (LineColPos, String) -> LineColPos-endOfTrailingWhitespace (pos, ('\n' : _)) = pos-endOfTrailingWhitespace (pos, (x : xs)) = endOfTrailingWhitespace (customAdvanceChr pos x, xs)-endOfTrailingWhitespace (pos, []) = pos--{-# LINE 76 "src/GLuaFixer/AG/LexLint.hs" #-}--{-# LINE 237 "src/GLuaFixer/AG/LexLint.ag" #-}--inh_MTokenList :: LintSettings -> Inh_MTokenList-inh_MTokenList conf =- Inh_MTokenList- { config_Inh_MTokenList = conf- , andSyntax_Inh_MTokenList = mempty- , indentation_Inh_MTokenList = mempty- , lineCommentSyntax_Inh_MTokenList = mempty- , multilineCommentSyntax_Inh_MTokenList = mempty- , neqSyntax_Inh_MTokenList = mempty- , notSyntax_Inh_MTokenList = mempty- , orSyntax_Inh_MTokenList = mempty- , strSyntax_Inh_MTokenList = mempty- , nextTokenPos_Inh_MTokenList = LineColPos 0 0 0- }--lintWarnings :: LintSettings -> [MToken] -> [String -> LintMessage]-lintWarnings conf p = warnings_Syn_MTokenList (wrap_MTokenList (sem_MTokenList p) (inh_MTokenList conf))---- Necessary because uu-parsinglib's LineColPos walks over tabs as though they are 8 spaces. Note--- that this also applies when the code is lexed by the Parsec lexer.-fixedLexPositions :: [MToken] -> [MToken]-fixedLexPositions p = copy_Syn_MTokenList (wrap_MTokenList (sem_MTokenList p) (inh_MTokenList defaultLintSettings))-{-# LINE 104 "src/GLuaFixer/AG/LexLint.hs" #-}--- MToken --------------------------------------------------------- cata-sem_MToken- :: MToken- -> T_MToken-sem_MToken (MToken _mpos _mtok) =- (sem_MToken_MToken (sem_Region _mpos) (sem_Token _mtok))---- semantic domain-type T_MToken =- SyntaxUsed- -> LintSettings- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> LineColPos- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> (SyntaxUsed, MToken, SyntaxUsed, SyntaxUsed, SyntaxUsed, SyntaxUsed, LineColPos, SyntaxUsed, SyntaxUsed, SyntaxUsed, ([FilePath -> LintMessage]))-data Inh_MToken = Inh_MToken {andSyntax_Inh_MToken :: SyntaxUsed, config_Inh_MToken :: LintSettings, indentation_Inh_MToken :: SyntaxUsed, lineCommentSyntax_Inh_MToken :: SyntaxUsed, multilineCommentSyntax_Inh_MToken :: SyntaxUsed, neqSyntax_Inh_MToken :: SyntaxUsed, nextTokenPos_Inh_MToken :: LineColPos, notSyntax_Inh_MToken :: SyntaxUsed, orSyntax_Inh_MToken :: SyntaxUsed, strSyntax_Inh_MToken :: SyntaxUsed}-data Syn_MToken = Syn_MToken {andSyntax_Syn_MToken :: SyntaxUsed, copy_Syn_MToken :: MToken, indentation_Syn_MToken :: SyntaxUsed, lineCommentSyntax_Syn_MToken :: SyntaxUsed, multilineCommentSyntax_Syn_MToken :: SyntaxUsed, neqSyntax_Syn_MToken :: SyntaxUsed, nextTokenPos_Syn_MToken :: LineColPos, notSyntax_Syn_MToken :: SyntaxUsed, orSyntax_Syn_MToken :: SyntaxUsed, strSyntax_Syn_MToken :: SyntaxUsed, warnings_Syn_MToken :: ([FilePath -> LintMessage])}-wrap_MToken- :: T_MToken- -> Inh_MToken- -> Syn_MToken-wrap_MToken sem (Inh_MToken _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =- ( let- (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax- in- (Syn_MToken _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings)- )-sem_MToken_MToken- :: T_Region- -> T_Token- -> T_MToken-sem_MToken_MToken mpos_ mtok_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIconfig- )- ) of- _mtokOconfig ->- ( case ( ( _lhsIandSyntax- )- ) of- _mposOandSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _mposOstrSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _mposOorSyntax ->- ( case ( ( _lhsInotSyntax- )- ) of- _mposOnotSyntax ->- ( case ( ( _lhsInextTokenPos- )- ) of- _mposOnextTokenPos ->- ( case ( ( _lhsIneqSyntax- )- ) of- _mposOneqSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _mposOmultilineCommentSyntax ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _mposOlineCommentSyntax ->- ( case ( ( _lhsIindentation- )- ) of- _mposOindentation ->- ( case ( ( _lhsIconfig- )- ) of- _mposOconfig ->- ( case (mpos_ _mposOandSyntax _mposOconfig _mposOindentation _mposOlineCommentSyntax _mposOmultilineCommentSyntax _mposOneqSyntax _mposOnextTokenPos _mposOnotSyntax _mposOorSyntax _mposOstrSyntax) of- (_mposIandSyntax, _mposIcopy, _mposIindentation, _mposIlineCommentSyntax, _mposImultilineCommentSyntax, _mposIneqSyntax, _mposInextTokenPos, _mposInotSyntax, _mposIorSyntax, _mposIstrSyntax, _mposIwarnings) ->- ( case ( ( _mposIandSyntax- )- ) of- _mtokOandSyntax ->- ( case ( ( _mposIstrSyntax- )- ) of- _mtokOstrSyntax ->- ( case ( ( _mposIorSyntax- )- ) of- _mtokOorSyntax ->- ( case ( ( _mposInotSyntax- )- ) of- _mtokOnotSyntax ->- ( case ( ( _mposInextTokenPos- )- ) of- _mtokOnextTokenPos ->- ( case ( ( _mposIneqSyntax- )- ) of- _mtokOneqSyntax ->- ( case ( ( _mposImultilineCommentSyntax- )- ) of- _mtokOmultilineCommentSyntax ->- ( case ( ( _mposIlineCommentSyntax- )- ) of- _mtokOlineCommentSyntax ->- ( case ( ( _mposIindentation- )- ) of- _mtokOindentation ->- ( case (mtok_ _mtokOandSyntax _mtokOconfig _mtokOindentation _mtokOlineCommentSyntax _mtokOmultilineCommentSyntax _mtokOneqSyntax _mtokOnextTokenPos _mtokOnotSyntax _mtokOorSyntax _mtokOstrSyntax) of- (_mtokIandSyntax, _mtokIcopy, _mtokIcustomWarnings, _mtokIindentation, _mtokIlineCommentSyntax, _mtokImultilineCommentSyntax, _mtokIneqSyntax, _mtokInextTokenPos, _mtokInotSyntax, _mtokIorSyntax, _mtokIstrSyntax, _mtokItokenWarnings, _mtokIwarnings) ->- ( case ( ( _mtokIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Region _lhsInextTokenPos (customAdvanceToken _lhsInextTokenPos _mtokIcopy)- )- ) of- _mpos ->- ( case ( ( MToken _mpos _mtokIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _mtokIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _mtokIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _mtokImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _mtokIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( _mtokInextTokenPos- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _mtokInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _mtokIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _mtokIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( _mtokIcustomWarnings ++ map (mTokenWarning _mpos) _mtokItokenWarnings- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )---- MTokenList ----------------------------------------------------- cata-sem_MTokenList- :: MTokenList- -> T_MTokenList-sem_MTokenList list =- (Prelude.foldr sem_MTokenList_Cons sem_MTokenList_Nil (Prelude.map sem_MToken list))---- semantic domain-type T_MTokenList =- SyntaxUsed- -> LintSettings- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> LineColPos- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> (SyntaxUsed, MTokenList, SyntaxUsed, SyntaxUsed, SyntaxUsed, SyntaxUsed, LineColPos, SyntaxUsed, SyntaxUsed, SyntaxUsed, ([FilePath -> LintMessage]))-data Inh_MTokenList = Inh_MTokenList {andSyntax_Inh_MTokenList :: SyntaxUsed, config_Inh_MTokenList :: LintSettings, indentation_Inh_MTokenList :: SyntaxUsed, lineCommentSyntax_Inh_MTokenList :: SyntaxUsed, multilineCommentSyntax_Inh_MTokenList :: SyntaxUsed, neqSyntax_Inh_MTokenList :: SyntaxUsed, nextTokenPos_Inh_MTokenList :: LineColPos, notSyntax_Inh_MTokenList :: SyntaxUsed, orSyntax_Inh_MTokenList :: SyntaxUsed, strSyntax_Inh_MTokenList :: SyntaxUsed}-data Syn_MTokenList = Syn_MTokenList {andSyntax_Syn_MTokenList :: SyntaxUsed, copy_Syn_MTokenList :: MTokenList, indentation_Syn_MTokenList :: SyntaxUsed, lineCommentSyntax_Syn_MTokenList :: SyntaxUsed, multilineCommentSyntax_Syn_MTokenList :: SyntaxUsed, neqSyntax_Syn_MTokenList :: SyntaxUsed, nextTokenPos_Syn_MTokenList :: LineColPos, notSyntax_Syn_MTokenList :: SyntaxUsed, orSyntax_Syn_MTokenList :: SyntaxUsed, strSyntax_Syn_MTokenList :: SyntaxUsed, warnings_Syn_MTokenList :: ([FilePath -> LintMessage])}-wrap_MTokenList- :: T_MTokenList- -> Inh_MTokenList- -> Syn_MTokenList-wrap_MTokenList sem (Inh_MTokenList _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =- ( let- (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax- in- (Syn_MTokenList _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings)- )-sem_MTokenList_Cons- :: T_MToken- -> T_MTokenList- -> T_MTokenList-sem_MTokenList_Cons hd_ tl_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIconfig- )- ) of- _tlOconfig ->- ( case ( ( _lhsIconfig- )- ) of- _hdOconfig ->- ( case ( ( _lhsIandSyntax- )- ) of- _hdOandSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _hdOstrSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _hdOorSyntax ->- ( case ( ( _lhsInotSyntax- )- ) of- _hdOnotSyntax ->- ( case ( ( _lhsInextTokenPos- )- ) of- _hdOnextTokenPos ->- ( case ( ( _lhsIneqSyntax- )- ) of- _hdOneqSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _hdOmultilineCommentSyntax ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _hdOlineCommentSyntax ->- ( case ( ( _lhsIindentation- )- ) of- _hdOindentation ->- ( case (hd_ _hdOandSyntax _hdOconfig _hdOindentation _hdOlineCommentSyntax _hdOmultilineCommentSyntax _hdOneqSyntax _hdOnextTokenPos _hdOnotSyntax _hdOorSyntax _hdOstrSyntax) of- (_hdIandSyntax, _hdIcopy, _hdIindentation, _hdIlineCommentSyntax, _hdImultilineCommentSyntax, _hdIneqSyntax, _hdInextTokenPos, _hdInotSyntax, _hdIorSyntax, _hdIstrSyntax, _hdIwarnings) ->- ( case ( ( _hdIandSyntax- )- ) of- _tlOandSyntax ->- ( case ( ( _hdIstrSyntax- )- ) of- _tlOstrSyntax ->- ( case ( ( _hdIorSyntax- )- ) of- _tlOorSyntax ->- ( case ( ( _hdInotSyntax- )- ) of- _tlOnotSyntax ->- ( case ( ( _hdInextTokenPos- )- ) of- _tlOnextTokenPos ->- ( case ( ( _hdIneqSyntax- )- ) of- _tlOneqSyntax ->- ( case ( ( _hdImultilineCommentSyntax- )- ) of- _tlOmultilineCommentSyntax ->- ( case ( ( _hdIlineCommentSyntax- )- ) of- _tlOlineCommentSyntax ->- ( case ( ( _hdIindentation- )- ) of- _tlOindentation ->- ( case (tl_ _tlOandSyntax _tlOconfig _tlOindentation _tlOlineCommentSyntax _tlOmultilineCommentSyntax _tlOneqSyntax _tlOnextTokenPos _tlOnotSyntax _tlOorSyntax _tlOstrSyntax) of- (_tlIandSyntax, _tlIcopy, _tlIindentation, _tlIlineCommentSyntax, _tlImultilineCommentSyntax, _tlIneqSyntax, _tlInextTokenPos, _tlInotSyntax, _tlIorSyntax, _tlIstrSyntax, _tlIwarnings) ->- ( case ( ( _tlIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( (:) _hdIcopy _tlIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _tlIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _tlIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _tlImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _tlIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( _tlInextTokenPos- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _tlInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _tlIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _tlIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( _hdIwarnings ++ _tlIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_MTokenList_Nil :: T_MTokenList-sem_MTokenList_Nil =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( []- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( _lhsInextTokenPos- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )---- Region --------------------------------------------------------- cata-sem_Region- :: Region- -> T_Region-sem_Region (Region _start _end) =- (sem_Region_Region _start _end)---- semantic domain-type T_Region =- SyntaxUsed- -> LintSettings- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> LineColPos- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> (SyntaxUsed, Region, SyntaxUsed, SyntaxUsed, SyntaxUsed, SyntaxUsed, LineColPos, SyntaxUsed, SyntaxUsed, SyntaxUsed, ([FilePath -> LintMessage]))-data Inh_Region = Inh_Region {andSyntax_Inh_Region :: SyntaxUsed, config_Inh_Region :: LintSettings, indentation_Inh_Region :: SyntaxUsed, lineCommentSyntax_Inh_Region :: SyntaxUsed, multilineCommentSyntax_Inh_Region :: SyntaxUsed, neqSyntax_Inh_Region :: SyntaxUsed, nextTokenPos_Inh_Region :: LineColPos, notSyntax_Inh_Region :: SyntaxUsed, orSyntax_Inh_Region :: SyntaxUsed, strSyntax_Inh_Region :: SyntaxUsed}-data Syn_Region = Syn_Region {andSyntax_Syn_Region :: SyntaxUsed, copy_Syn_Region :: Region, indentation_Syn_Region :: SyntaxUsed, lineCommentSyntax_Syn_Region :: SyntaxUsed, multilineCommentSyntax_Syn_Region :: SyntaxUsed, neqSyntax_Syn_Region :: SyntaxUsed, nextTokenPos_Syn_Region :: LineColPos, notSyntax_Syn_Region :: SyntaxUsed, orSyntax_Syn_Region :: SyntaxUsed, strSyntax_Syn_Region :: SyntaxUsed, warnings_Syn_Region :: ([FilePath -> LintMessage])}-wrap_Region- :: T_Region- -> Inh_Region- -> Syn_Region-wrap_Region sem (Inh_Region _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =- ( let- (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax- in- (Syn_Region _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings)- )-sem_Region_Region- :: LineColPos- -> LineColPos- -> T_Region-sem_Region_Region start_ end_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Region start_ end_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( _lhsInextTokenPos- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )---- Token ---------------------------------------------------------- cata-sem_Token- :: Token- -> T_Token-sem_Token (Whitespace _space) =- (sem_Token_Whitespace _space)-sem_Token (DashComment _comment) =- (sem_Token_DashComment _comment)-sem_Token (DashBlockComment _depth _comment) =- (sem_Token_DashBlockComment _depth _comment)-sem_Token (SlashComment _comment) =- (sem_Token_SlashComment _comment)-sem_Token (SlashBlockComment _comment) =- (sem_Token_SlashBlockComment _comment)-sem_Token (Semicolon) =- (sem_Token_Semicolon)-sem_Token (TNumber _num) =- (sem_Token_TNumber _num)-sem_Token (DQString _str) =- (sem_Token_DQString _str)-sem_Token (SQString _str) =- (sem_Token_SQString _str)-sem_Token (MLString _str) =- (sem_Token_MLString _str)-sem_Token (TTrue) =- (sem_Token_TTrue)-sem_Token (TFalse) =- (sem_Token_TFalse)-sem_Token (Nil) =- (sem_Token_Nil)-sem_Token (VarArg) =- (sem_Token_VarArg)-sem_Token (Plus) =- (sem_Token_Plus)-sem_Token (Minus) =- (sem_Token_Minus)-sem_Token (Multiply) =- (sem_Token_Multiply)-sem_Token (Divide) =- (sem_Token_Divide)-sem_Token (Modulus) =- (sem_Token_Modulus)-sem_Token (Power) =- (sem_Token_Power)-sem_Token (TEq) =- (sem_Token_TEq)-sem_Token (TNEq) =- (sem_Token_TNEq)-sem_Token (TCNEq) =- (sem_Token_TCNEq)-sem_Token (TLEQ) =- (sem_Token_TLEQ)-sem_Token (TGEQ) =- (sem_Token_TGEQ)-sem_Token (TLT) =- (sem_Token_TLT)-sem_Token (TGT) =- (sem_Token_TGT)-sem_Token (Equals) =- (sem_Token_Equals)-sem_Token (Concatenate) =- (sem_Token_Concatenate)-sem_Token (Colon) =- (sem_Token_Colon)-sem_Token (Dot) =- (sem_Token_Dot)-sem_Token (Comma) =- (sem_Token_Comma)-sem_Token (Hash) =- (sem_Token_Hash)-sem_Token (Not) =- (sem_Token_Not)-sem_Token (CNot) =- (sem_Token_CNot)-sem_Token (And) =- (sem_Token_And)-sem_Token (CAnd) =- (sem_Token_CAnd)-sem_Token (Or) =- (sem_Token_Or)-sem_Token (COr) =- (sem_Token_COr)-sem_Token (Function) =- (sem_Token_Function)-sem_Token (Local) =- (sem_Token_Local)-sem_Token (If) =- (sem_Token_If)-sem_Token (Then) =- (sem_Token_Then)-sem_Token (Elseif) =- (sem_Token_Elseif)-sem_Token (Else) =- (sem_Token_Else)-sem_Token (For) =- (sem_Token_For)-sem_Token (In) =- (sem_Token_In)-sem_Token (Do) =- (sem_Token_Do)-sem_Token (While) =- (sem_Token_While)-sem_Token (Until) =- (sem_Token_Until)-sem_Token (Repeat) =- (sem_Token_Repeat)-sem_Token (Continue) =- (sem_Token_Continue)-sem_Token (Break) =- (sem_Token_Break)-sem_Token (Return) =- (sem_Token_Return)-sem_Token (End) =- (sem_Token_End)-sem_Token (LRound) =- (sem_Token_LRound)-sem_Token (RRound) =- (sem_Token_RRound)-sem_Token (LCurly) =- (sem_Token_LCurly)-sem_Token (RCurly) =- (sem_Token_RCurly)-sem_Token (LSquare) =- (sem_Token_LSquare)-sem_Token (RSquare) =- (sem_Token_RSquare)-sem_Token (Label _whitespaceBefore _lbl _whitespaceAfter) =- (sem_Token_Label _whitespaceBefore _lbl _whitespaceAfter)-sem_Token (Identifier _ident) =- (sem_Token_Identifier _ident)---- semantic domain-type T_Token =- SyntaxUsed- -> LintSettings- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> LineColPos- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> (SyntaxUsed, Token, ([FilePath -> LintMessage]), SyntaxUsed, SyntaxUsed, SyntaxUsed, SyntaxUsed, LineColPos, SyntaxUsed, SyntaxUsed, SyntaxUsed, ([Issue]), ([FilePath -> LintMessage]))-data Inh_Token = Inh_Token {andSyntax_Inh_Token :: SyntaxUsed, config_Inh_Token :: LintSettings, indentation_Inh_Token :: SyntaxUsed, lineCommentSyntax_Inh_Token :: SyntaxUsed, multilineCommentSyntax_Inh_Token :: SyntaxUsed, neqSyntax_Inh_Token :: SyntaxUsed, nextTokenPos_Inh_Token :: LineColPos, notSyntax_Inh_Token :: SyntaxUsed, orSyntax_Inh_Token :: SyntaxUsed, strSyntax_Inh_Token :: SyntaxUsed}-data Syn_Token = Syn_Token {andSyntax_Syn_Token :: SyntaxUsed, copy_Syn_Token :: Token, customWarnings_Syn_Token :: ([FilePath -> LintMessage]), indentation_Syn_Token :: SyntaxUsed, lineCommentSyntax_Syn_Token :: SyntaxUsed, multilineCommentSyntax_Syn_Token :: SyntaxUsed, neqSyntax_Syn_Token :: SyntaxUsed, nextTokenPos_Syn_Token :: LineColPos, notSyntax_Syn_Token :: SyntaxUsed, orSyntax_Syn_Token :: SyntaxUsed, strSyntax_Syn_Token :: SyntaxUsed, tokenWarnings_Syn_Token :: ([Issue]), warnings_Syn_Token :: ([FilePath -> LintMessage])}-wrap_Token- :: T_Token- -> Inh_Token- -> Syn_Token-wrap_Token sem (Inh_Token _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =- ( let- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax- in- (Syn_Token _lhsOandSyntax _lhsOcopy _lhsOcustomWarnings _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOtokenWarnings _lhsOwarnings)- )-sem_Token_Whitespace- :: String- -> T_Token-sem_Token_Whitespace space_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Whitespace space_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _customWarnings_augmented_syn ->- ( case ( ( _lhsInextTokenPos- )- ) of- _curTokenPos ->- ( case ( ( customAdvanceStr _curTokenPos space_- )- ) of- _nextTokenPos ->- ( case ( ( Region (indentationStart _curTokenPos space_) _nextTokenPos- )- ) of- _indentationRg ->- ( case ( ( locateTrailingWhitespace _curTokenPos space_- )- ) of- _whitespaceStart ->- ( case ( ( endOfTrailingWhitespace _whitespaceStart- )- ) of- _whitespaceEnd ->- ( case ( ( _lhsIindentation <> SyntaxUsed (isInfixOf "\n " space_) (isInfixOf "\n\t" space_)- )- ) of- _whitespaceUsed ->- ( case ( ( luaUsed _whitespaceUsed && cUsed _whitespaceUsed- )- ) of- _inconsistent ->- ( case ( ( if not (lint_trailingWhitespace _lhsIconfig) || (not (isInfixOf " \n" space_) && not (isInfixOf "\t\n" space_)) then id else (:) $ mTokenWarning (Region (fst _whitespaceStart) _whitespaceEnd) TrailingWhitespace- )- ) of- _customWarnings_augmented_f2 ->- ( case ( ( if not (lint_whitespaceStyle _lhsIconfig) || not _inconsistent- then id- else (:) $ mTokenWarning _indentationRg InconsistentTabsSpaces- )- ) of- _customWarnings_augmented_f1 ->- ( case ( ( foldr ($) _customWarnings_augmented_syn [_customWarnings_augmented_f1, _customWarnings_augmented_f2]- )- ) of- _lhsOcustomWarnings ->- ( case ( ( if _inconsistent then mempty else _whitespaceUsed- )- ) of- _indentation ->- ( case ( ( _indentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( _nextTokenPos- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_DashComment- :: String- -> T_Token-sem_Token_DashComment comment_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( DashComment comment_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIlineCommentSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed _consistent False- )- ) of- _lineCommentSyntax ->- ( case ( ( _lineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "--" "//"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_DashBlockComment- :: Int- -> String- -> T_Token-sem_Token_DashBlockComment depth_ comment_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( DashBlockComment depth_ comment_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsImultilineCommentSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed _consistent False- )- ) of- _multilineCommentSyntax ->- ( case ( ( _multilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( showString "--[" . showString (replicate depth_ '-') . showChar '[' . showString comment_ . showChar ']' . showString (replicate depth_ '-') . showChar ']' $ ""- )- ) of- _str ->- ( case ( ( customAdvanceStr _lhsInextTokenPos _str- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "--[[ ]]" "/* */"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_SlashComment- :: String- -> T_Token-sem_Token_SlashComment comment_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( SlashComment comment_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIlineCommentSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed False _consistent- )- ) of- _lineCommentSyntax ->- ( case ( ( _lineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "//" "--"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_SlashBlockComment- :: String- -> T_Token-sem_Token_SlashBlockComment comment_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( SlashBlockComment comment_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsImultilineCommentSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed False _consistent- )- ) of- _multilineCommentSyntax ->- ( case ( ( _multilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( showString "/*" . showString comment_ . showString "*/" $ ""- )- ) of- _str ->- ( case ( ( customAdvanceStr _lhsInextTokenPos _str- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "/* */" "--[[ ]]"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Semicolon :: T_Token-sem_Token_Semicolon =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Semicolon- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_TNumber- :: String- -> T_Token-sem_Token_TNumber num_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( TNumber num_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_DQString- :: String- -> T_Token-sem_Token_DQString str_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( DQString str_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceStr _lhsInextTokenPos str_- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIstrSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed _consistent False- )- ) of- _strSyntax ->- ( case ( ( _strSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "double quoted strings" "single quoted strings"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_SQString- :: String- -> T_Token-sem_Token_SQString str_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( SQString str_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceStr _lhsInextTokenPos str_- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIstrSyntax) || isSingleChar str_- )- ) of- _consistent ->- ( case ( ( SyntaxUsed False (_consistent && not (isSingleChar str_))- )- ) of- _strSyntax ->- ( case ( ( _strSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "single quoted strings" "double quoted strings"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_MLString- :: String- -> T_Token-sem_Token_MLString str_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( MLString str_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceStr _lhsInextTokenPos str_- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_TTrue :: T_Token-sem_Token_TTrue =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( TTrue- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_TFalse :: T_Token-sem_Token_TFalse =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( TFalse- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Nil :: T_Token-sem_Token_Nil =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Nil- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_VarArg :: T_Token-sem_Token_VarArg =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( VarArg- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Plus :: T_Token-sem_Token_Plus =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Plus- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Minus :: T_Token-sem_Token_Minus =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Minus- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Multiply :: T_Token-sem_Token_Multiply =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Multiply- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Divide :: T_Token-sem_Token_Divide =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Divide- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Modulus :: T_Token-sem_Token_Modulus =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Modulus- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Power :: T_Token-sem_Token_Power =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Power- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_TEq :: T_Token-sem_Token_TEq =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( TEq- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_TNEq :: T_Token-sem_Token_TNEq =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( TNEq- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIneqSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed _consistent False- )- ) of- _neqSyntax ->- ( case ( ( _neqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "~=" "!="- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_TCNEq :: T_Token-sem_Token_TCNEq =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( TCNEq- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIneqSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed False _consistent- )- ) of- _neqSyntax ->- ( case ( ( _neqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "!=" "~="- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_TLEQ :: T_Token-sem_Token_TLEQ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( TLEQ- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_TGEQ :: T_Token-sem_Token_TGEQ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( TGEQ- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_TLT :: T_Token-sem_Token_TLT =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( TLT- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_TGT :: T_Token-sem_Token_TGT =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( TGT- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Equals :: T_Token-sem_Token_Equals =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Equals- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Concatenate :: T_Token-sem_Token_Concatenate =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Concatenate- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Colon :: T_Token-sem_Token_Colon =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Colon- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Dot :: T_Token-sem_Token_Dot =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Dot- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Comma :: T_Token-sem_Token_Comma =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Comma- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Hash :: T_Token-sem_Token_Hash =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Hash- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Not :: T_Token-sem_Token_Not =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Not- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsInotSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed _consistent False- )- ) of- _notSyntax ->- ( case ( ( _notSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "not" "!"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_CNot :: T_Token-sem_Token_CNot =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( CNot- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsInotSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed False _consistent- )- ) of- _notSyntax ->- ( case ( ( _notSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "!" "not"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_And :: T_Token-sem_Token_And =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIandSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed _consistent False- )- ) of- _andSyntax ->- ( case ( ( _andSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( And- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "and" "&&"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_CAnd :: T_Token-sem_Token_CAnd =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIandSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed False _consistent- )- ) of- _andSyntax ->- ( case ( ( _andSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( CAnd- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "&&" "and"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Or :: T_Token-sem_Token_Or =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Or- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . cUsed $ _lhsIorSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed _consistent False- )- ) of- _orSyntax ->- ( case ( ( _orSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "or" "||"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_COr :: T_Token-sem_Token_COr =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( COr- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( (not . lint_syntaxInconsistencies $ _lhsIconfig) || (not . luaUsed $ _lhsIorSyntax)- )- ) of- _consistent ->- ( case ( ( SyntaxUsed False _consistent- )- ) of- _orSyntax ->- ( case ( ( _orSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _tokenWarnings_augmented_syn ->- ( case ( ( if _consistent- then id- else (:) $ SyntaxInconsistency "||" "or"- )- ) of- _tokenWarnings_augmented_f1 ->- ( case ( ( foldr ($) _tokenWarnings_augmented_syn [_tokenWarnings_augmented_f1]- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Function :: T_Token-sem_Token_Function =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Function- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Local :: T_Token-sem_Token_Local =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Local- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_If :: T_Token-sem_Token_If =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( If- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Then :: T_Token-sem_Token_Then =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Then- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Elseif :: T_Token-sem_Token_Elseif =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Elseif- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Else :: T_Token-sem_Token_Else =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Else- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_For :: T_Token-sem_Token_For =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( For- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_In :: T_Token-sem_Token_In =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( In- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Do :: T_Token-sem_Token_Do =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Do- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_While :: T_Token-sem_Token_While =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( While- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Until :: T_Token-sem_Token_Until =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Until- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Repeat :: T_Token-sem_Token_Repeat =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Repeat- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Continue :: T_Token-sem_Token_Continue =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Continue- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Break :: T_Token-sem_Token_Break =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Break- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Return :: T_Token-sem_Token_Return =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Return- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_End :: T_Token-sem_Token_End =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( End- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_LRound :: T_Token-sem_Token_LRound =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( LRound- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_RRound :: T_Token-sem_Token_RRound =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( RRound- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_LCurly :: T_Token-sem_Token_LCurly =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( LCurly- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_RCurly :: T_Token-sem_Token_RCurly =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( RCurly- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_LSquare :: T_Token-sem_Token_LSquare =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( LSquare- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_RSquare :: T_Token-sem_Token_RSquare =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( RSquare- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Label- :: String- -> String- -> String- -> T_Token-sem_Token_Label whitespaceBefore_ lbl_ whitespaceAfter_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Label whitespaceBefore_ lbl_ whitespaceAfter_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceStr _lhsInextTokenPos (show _copy)- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_Token_Identifier- :: String- -> T_Token-sem_Token_Identifier ident_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( Identifier ident_- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( []- )- ) of- _lhsOcustomWarnings ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( customAdvanceToken _lhsInextTokenPos _copy- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOcustomWarnings, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )---- TokenList ------------------------------------------------------ cata-sem_TokenList- :: TokenList- -> T_TokenList-sem_TokenList list =- (Prelude.foldr sem_TokenList_Cons sem_TokenList_Nil (Prelude.map sem_Token list))---- semantic domain-type T_TokenList =- SyntaxUsed- -> LintSettings- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> LineColPos- -> SyntaxUsed- -> SyntaxUsed- -> SyntaxUsed- -> (SyntaxUsed, TokenList, SyntaxUsed, SyntaxUsed, SyntaxUsed, SyntaxUsed, LineColPos, SyntaxUsed, SyntaxUsed, SyntaxUsed, ([Issue]), ([FilePath -> LintMessage]))-data Inh_TokenList = Inh_TokenList {andSyntax_Inh_TokenList :: SyntaxUsed, config_Inh_TokenList :: LintSettings, indentation_Inh_TokenList :: SyntaxUsed, lineCommentSyntax_Inh_TokenList :: SyntaxUsed, multilineCommentSyntax_Inh_TokenList :: SyntaxUsed, neqSyntax_Inh_TokenList :: SyntaxUsed, nextTokenPos_Inh_TokenList :: LineColPos, notSyntax_Inh_TokenList :: SyntaxUsed, orSyntax_Inh_TokenList :: SyntaxUsed, strSyntax_Inh_TokenList :: SyntaxUsed}-data Syn_TokenList = Syn_TokenList {andSyntax_Syn_TokenList :: SyntaxUsed, copy_Syn_TokenList :: TokenList, indentation_Syn_TokenList :: SyntaxUsed, lineCommentSyntax_Syn_TokenList :: SyntaxUsed, multilineCommentSyntax_Syn_TokenList :: SyntaxUsed, neqSyntax_Syn_TokenList :: SyntaxUsed, nextTokenPos_Syn_TokenList :: LineColPos, notSyntax_Syn_TokenList :: SyntaxUsed, orSyntax_Syn_TokenList :: SyntaxUsed, strSyntax_Syn_TokenList :: SyntaxUsed, tokenWarnings_Syn_TokenList :: ([Issue]), warnings_Syn_TokenList :: ([FilePath -> LintMessage])}-wrap_TokenList- :: T_TokenList- -> Inh_TokenList- -> Syn_TokenList-wrap_TokenList sem (Inh_TokenList _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =- ( let- (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax- in- (Syn_TokenList _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOtokenWarnings _lhsOwarnings)- )-sem_TokenList_Cons- :: T_Token- -> T_TokenList- -> T_TokenList-sem_TokenList_Cons hd_ tl_ =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIconfig- )- ) of- _tlOconfig ->- ( case ( ( _lhsIconfig- )- ) of- _hdOconfig ->- ( case ( ( _lhsIandSyntax- )- ) of- _hdOandSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _hdOstrSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _hdOorSyntax ->- ( case ( ( _lhsInotSyntax- )- ) of- _hdOnotSyntax ->- ( case ( ( _lhsInextTokenPos- )- ) of- _hdOnextTokenPos ->- ( case ( ( _lhsIneqSyntax- )- ) of- _hdOneqSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _hdOmultilineCommentSyntax ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _hdOlineCommentSyntax ->- ( case ( ( _lhsIindentation- )- ) of- _hdOindentation ->- ( case (hd_ _hdOandSyntax _hdOconfig _hdOindentation _hdOlineCommentSyntax _hdOmultilineCommentSyntax _hdOneqSyntax _hdOnextTokenPos _hdOnotSyntax _hdOorSyntax _hdOstrSyntax) of- (_hdIandSyntax, _hdIcopy, _hdIcustomWarnings, _hdIindentation, _hdIlineCommentSyntax, _hdImultilineCommentSyntax, _hdIneqSyntax, _hdInextTokenPos, _hdInotSyntax, _hdIorSyntax, _hdIstrSyntax, _hdItokenWarnings, _hdIwarnings) ->- ( case ( ( _hdIandSyntax- )- ) of- _tlOandSyntax ->- ( case ( ( _hdIstrSyntax- )- ) of- _tlOstrSyntax ->- ( case ( ( _hdIorSyntax- )- ) of- _tlOorSyntax ->- ( case ( ( _hdInotSyntax- )- ) of- _tlOnotSyntax ->- ( case ( ( _hdInextTokenPos- )- ) of- _tlOnextTokenPos ->- ( case ( ( _hdIneqSyntax- )- ) of- _tlOneqSyntax ->- ( case ( ( _hdImultilineCommentSyntax- )- ) of- _tlOmultilineCommentSyntax ->- ( case ( ( _hdIlineCommentSyntax- )- ) of- _tlOlineCommentSyntax ->- ( case ( ( _hdIindentation- )- ) of- _tlOindentation ->- ( case (tl_ _tlOandSyntax _tlOconfig _tlOindentation _tlOlineCommentSyntax _tlOmultilineCommentSyntax _tlOneqSyntax _tlOnextTokenPos _tlOnotSyntax _tlOorSyntax _tlOstrSyntax) of- (_tlIandSyntax, _tlIcopy, _tlIindentation, _tlIlineCommentSyntax, _tlImultilineCommentSyntax, _tlIneqSyntax, _tlInextTokenPos, _tlInotSyntax, _tlIorSyntax, _tlIstrSyntax, _tlItokenWarnings, _tlIwarnings) ->- ( case ( ( _tlIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( (:) _hdIcopy _tlIcopy- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _tlIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _tlIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _tlImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _tlIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( _tlInextTokenPos- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _tlInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _tlIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _tlIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( _hdItokenWarnings ++ _tlItokenWarnings- )- ) of- _lhsOtokenWarnings ->- ( case ( ( _hdIwarnings ++ _tlIwarnings- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )- )-sem_TokenList_Nil :: T_TokenList-sem_TokenList_Nil =- ( \_lhsIandSyntax- _lhsIconfig- _lhsIindentation- _lhsIlineCommentSyntax- _lhsImultilineCommentSyntax- _lhsIneqSyntax- _lhsInextTokenPos- _lhsInotSyntax- _lhsIorSyntax- _lhsIstrSyntax ->- ( case ( ( _lhsIandSyntax- )- ) of- _lhsOandSyntax ->- ( case ( ( []- )- ) of- _copy ->- ( case ( ( _copy- )- ) of- _lhsOcopy ->- ( case ( ( _lhsIindentation- )- ) of- _lhsOindentation ->- ( case ( ( _lhsIlineCommentSyntax- )- ) of- _lhsOlineCommentSyntax ->- ( case ( ( _lhsImultilineCommentSyntax- )- ) of- _lhsOmultilineCommentSyntax ->- ( case ( ( _lhsIneqSyntax- )- ) of- _lhsOneqSyntax ->- ( case ( ( _lhsInextTokenPos- )- ) of- _lhsOnextTokenPos ->- ( case ( ( _lhsInotSyntax- )- ) of- _lhsOnotSyntax ->- ( case ( ( _lhsIorSyntax- )- ) of- _lhsOorSyntax ->- ( case ( ( _lhsIstrSyntax- )- ) of- _lhsOstrSyntax ->- ( case ( ( []- )- ) of- _lhsOtokenWarnings ->- ( case ( ( []- )- ) of- _lhsOwarnings ->- (_lhsOandSyntax, _lhsOcopy, _lhsOindentation, _lhsOlineCommentSyntax, _lhsOmultilineCommentSyntax, _lhsOneqSyntax, _lhsOnextTokenPos, _lhsOnotSyntax, _lhsOorSyntax, _lhsOstrSyntax, _lhsOtokenWarnings, _lhsOwarnings)- )- )- )- )- )- )- )- )- )- )- )- )- )- )+++{-# LANGUAGE DeriveGeneric #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# LANGUAGE CPP #-}+-- UUAGC 0.9.53.1 (src/GLuaFixer/AG/LexLint.ag)+module GLuaFixer.AG.LexLint(+ lintWarnings,+ fixedLexPositions+) where++{-# LINE 9 "src/GLuaFixer/AG/../../GLua/AG/Token.ag" #-}++import GHC.Generics+import GLua.Position+{-# LINE 19 "src/GLuaFixer/AG/LexLint.hs" #-}++{-# LINE 15 "src/GLuaFixer/AG/LexLint.ag" #-}++import Control.Applicative ((<|>))+import Data.List+import GLua.TokenTypes+import GLua.AG.Token+import GLua.Position+import GLuaFixer.LintMessage+import GLuaFixer.LintSettings+{-# LINE 30 "src/GLuaFixer/AG/LexLint.hs" #-}+{-# LINE 27 "src/GLuaFixer/AG/LexLint.ag" #-}+++----------------------------------------+-- C-style / Lua-style syntax inconsistencies+----------------------------------------+-- For detecting the usage of Lua/C syntax inconsistently. 'Nothing' means no evidence of the style,+-- and 'Just Region' represents the last place where the style was found to be used.+data SyntaxUsed = SyntaxUsed+ { lastLuaExample :: Maybe Region+ , lastCExample :: Maybe Region+ }+ deriving (Show)++instance Semigroup SyntaxUsed where+ -- Later uses have preference over earlier uses+ (SyntaxUsed l1 c1) <> (SyntaxUsed l2 c2) = SyntaxUsed (l2 <|> l1) (c2 <|> c1)++-- Monoid instance+instance Monoid SyntaxUsed where+ mempty = SyntaxUsed Nothing Nothing++previousSyntaxUsedRegion :: SyntaxUsed -> Maybe Region+previousSyntaxUsedRegion syntaxUsed = case syntaxUsed of+ SyntaxUsed (Just l) (Just c) -> Just $ min l c+ -- There is no previous region if there is no syntax inconsistency+ SyntaxUsed {} -> Nothing++-- | Whether there is evidence of Lua style code+luaUsed :: SyntaxUsed -> Bool+luaUsed (SyntaxUsed (Just _) _) = True+luaUsed _ = False++-- | Whether there is evidence of C style code+cUsed :: SyntaxUsed -> Bool+cUsed (SyntaxUsed _ (Just _)) = True+cUsed _ = False++-- | Quick helper to turn a bool and region into a member for 'SyntaxUsed'+mkSyntax :: Bool -> Region -> Maybe Region+mkSyntax b region = if b then Just region else Nothing++-- | Whether the syntax is consistent+consistent :: SyntaxUsed -> Bool+consistent syntaxUsed = case syntaxUsed of+ SyntaxUsed (Just _) (Just _) -> False+ _ -> True++mTokenWarning :: Region -> Issue -> FilePath -> LintMessage+mTokenWarning pos issue = LintMessage LintWarning pos issue++-- | Shorthand for throwing _two_ warnings when an inconsistency occurs: one at the original place+-- and one at the new place.+warnInconsistency :: SyntaxUsed -> Issue -> [FilePath -> LintMessage] -> [FilePath -> LintMessage]+warnInconsistency syntaxUsed issue messages = case syntaxUsed of+ SyntaxUsed (Just luaRegion) (Just cRegion) ->+ LintMessage LintWarning luaRegion issue :+ LintMessage LintWarning cRegion issue :+ messages+ _ -> messages++-- | Handy function to reset the built up knowledge of 'SyntaxUsed' when it is found to be+-- inconsistent.+resetIfInconsistent :: SyntaxUsed -> SyntaxUsed+resetIfInconsistent syntaxUsed = case syntaxUsed of+ SyntaxUsed (Just {}) (Just {}) -> SyntaxUsed Nothing Nothing+ _ -> syntaxUsed++isSingleChar :: String -> Bool+isSingleChar [] = True+isSingleChar ('\\' : xs) = length xs == 1+isSingleChar (_ : []) = True+isSingleChar _ = False++-- Locate the exact position of trailing whitespace+locateTrailingWhitespace :: LineColPos -> String -> (LineColPos, String)+locateTrailingWhitespace pos (' ' : xs) = (pos, xs)+locateTrailingWhitespace pos ('\t' : xs) = (pos, xs)+locateTrailingWhitespace pos (x : xs) = locateTrailingWhitespace (customAdvanceChr pos x) xs+locateTrailingWhitespace pos [] = (pos, "")++-- Locate the start of a line's indentation in a string of whitespace+indentationStart :: LineColPos -> String -> LineColPos+indentationStart pos = go pos pos+ where+ go :: LineColPos -> LineColPos -> String -> LineColPos+ go _ cur ('\n' : xs) = let next = customAdvanceChr cur '\n' in go next next xs+ go found cur (x : xs) = go found (customAdvanceChr cur x) xs+ go found _ [] = found++endOfTrailingWhitespace :: (LineColPos, String) -> LineColPos+endOfTrailingWhitespace (pos, ('\n' : _)) = pos+endOfTrailingWhitespace (pos, (x : xs)) = endOfTrailingWhitespace (customAdvanceChr pos x, xs)+endOfTrailingWhitespace (pos, []) = pos+++{-# LINE 127 "src/GLuaFixer/AG/LexLint.hs" #-}++{-# LINE 296 "src/GLuaFixer/AG/LexLint.ag" #-}++++inh_MTokenList :: LintSettings -> Inh_MTokenList+inh_MTokenList conf =+ Inh_MTokenList {+ config_Inh_MTokenList = conf,+ andSyntax_Inh_MTokenList = mempty,+ indentation_Inh_MTokenList = mempty,+ lineCommentSyntax_Inh_MTokenList = mempty,+ multilineCommentSyntax_Inh_MTokenList = mempty,+ neqSyntax_Inh_MTokenList = mempty,+ notSyntax_Inh_MTokenList = mempty,+ orSyntax_Inh_MTokenList = mempty,+ strSyntax_Inh_MTokenList = mempty,+ nextTokenPos_Inh_MTokenList = LineColPos 0 0 0+ }++lintWarnings :: LintSettings -> [MToken] -> [String -> LintMessage]+lintWarnings conf p = warnings_Syn_MTokenList (wrap_MTokenList (sem_MTokenList p) (inh_MTokenList conf))++-- Necessary because the parser walks over tabs as though they are 8 spaces.+fixedLexPositions :: [MToken] -> [MToken]+fixedLexPositions p = copy_Syn_MTokenList (wrap_MTokenList (sem_MTokenList p) (inh_MTokenList defaultLintSettings))+{-# LINE 154 "src/GLuaFixer/AG/LexLint.hs" #-}+-- MToken ------------------------------------------------------+-- cata+sem_MToken :: MToken ->+ T_MToken+sem_MToken (MToken _mpos _mtok) =+ (sem_MToken_MToken _mpos (sem_Token _mtok))+-- semantic domain+type T_MToken = SyntaxUsed ->+ LintSettings ->+ SyntaxUsed ->+ SyntaxUsed ->+ SyntaxUsed ->+ SyntaxUsed ->+ LineColPos ->+ SyntaxUsed ->+ SyntaxUsed ->+ SyntaxUsed ->+ ( SyntaxUsed,MToken,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,LineColPos,SyntaxUsed,SyntaxUsed,SyntaxUsed,([FilePath -> LintMessage]))+data Inh_MToken = Inh_MToken {andSyntax_Inh_MToken :: SyntaxUsed,config_Inh_MToken :: LintSettings,indentation_Inh_MToken :: SyntaxUsed,lineCommentSyntax_Inh_MToken :: SyntaxUsed,multilineCommentSyntax_Inh_MToken :: SyntaxUsed,neqSyntax_Inh_MToken :: SyntaxUsed,nextTokenPos_Inh_MToken :: LineColPos,notSyntax_Inh_MToken :: SyntaxUsed,orSyntax_Inh_MToken :: SyntaxUsed,strSyntax_Inh_MToken :: SyntaxUsed}+data Syn_MToken = Syn_MToken {andSyntax_Syn_MToken :: SyntaxUsed,copy_Syn_MToken :: MToken,indentation_Syn_MToken :: SyntaxUsed,lineCommentSyntax_Syn_MToken :: SyntaxUsed,multilineCommentSyntax_Syn_MToken :: SyntaxUsed,neqSyntax_Syn_MToken :: SyntaxUsed,nextTokenPos_Syn_MToken :: LineColPos,notSyntax_Syn_MToken :: SyntaxUsed,orSyntax_Syn_MToken :: SyntaxUsed,strSyntax_Syn_MToken :: SyntaxUsed,warnings_Syn_MToken :: ([FilePath -> LintMessage])}+wrap_MToken :: T_MToken ->+ Inh_MToken ->+ Syn_MToken+wrap_MToken sem (Inh_MToken _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =+ (let ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax+ in (Syn_MToken _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings))+sem_MToken_MToken :: Region ->+ T_Token ->+ T_MToken+sem_MToken_MToken mpos_ mtok_ =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInextTokenPos+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInextTokenPos+ {-# LINE 197 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOnextTokenPos ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 202 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOandSyntax ->+ (case (mtok_ _mtokOnextTokenPos) of+ { ( _mtokInextTokenPos,mtok_1) ->+ (case (({-# LINE 156 "src/GLuaFixer/AG/LexLint.ag" #-}+ Region _lhsInextTokenPos _mtokInextTokenPos+ {-# LINE 209 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mpos ->+ (case (({-# LINE 157 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mpos+ {-# LINE 214 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOmpos ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 219 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOstrSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 224 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOorSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 229 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOnotSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 234 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOneqSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 239 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOmultilineCommentSyntax ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 244 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOlineCommentSyntax ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 249 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOindentation ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIconfig+ {-# LINE 254 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _mtokOconfig ->+ (case (mtok_1 _mtokOandSyntax _mtokOconfig _mtokOindentation _mtokOlineCommentSyntax _mtokOmpos _mtokOmultilineCommentSyntax _mtokOneqSyntax _mtokOnotSyntax _mtokOorSyntax _mtokOstrSyntax) of+ { ( _mtokIandSyntax,_mtokIcopy,_mtokIindentation,_mtokIlineCommentSyntax,_mtokImultilineCommentSyntax,_mtokIneqSyntax,_mtokInotSyntax,_mtokIorSyntax,_mtokIstrSyntax,_mtokIwarnings) ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mtokIandSyntax+ {-# LINE 261 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 160 "src/GLuaFixer/AG/LexLint.ag" #-}+ MToken (const _mpos mpos_) _mtokIcopy+ {-# LINE 266 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 271 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mtokIindentation+ {-# LINE 276 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mtokIlineCommentSyntax+ {-# LINE 281 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mtokImultilineCommentSyntax+ {-# LINE 286 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mtokIneqSyntax+ {-# LINE 291 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mtokInextTokenPos+ {-# LINE 296 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mtokInotSyntax+ {-# LINE 301 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mtokIorSyntax+ {-# LINE 306 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mtokIstrSyntax+ {-# LINE 311 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ _mtokIwarnings+ {-# LINE 316 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+-- MTokenList --------------------------------------------------+-- cata+sem_MTokenList :: MTokenList ->+ T_MTokenList+sem_MTokenList list =+ (Prelude.foldr sem_MTokenList_Cons sem_MTokenList_Nil (Prelude.map sem_MToken list))+-- semantic domain+type T_MTokenList = SyntaxUsed ->+ LintSettings ->+ SyntaxUsed ->+ SyntaxUsed ->+ SyntaxUsed ->+ SyntaxUsed ->+ LineColPos ->+ SyntaxUsed ->+ SyntaxUsed ->+ SyntaxUsed ->+ ( SyntaxUsed,MTokenList,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,LineColPos,SyntaxUsed,SyntaxUsed,SyntaxUsed,([FilePath -> LintMessage]))+data Inh_MTokenList = Inh_MTokenList {andSyntax_Inh_MTokenList :: SyntaxUsed,config_Inh_MTokenList :: LintSettings,indentation_Inh_MTokenList :: SyntaxUsed,lineCommentSyntax_Inh_MTokenList :: SyntaxUsed,multilineCommentSyntax_Inh_MTokenList :: SyntaxUsed,neqSyntax_Inh_MTokenList :: SyntaxUsed,nextTokenPos_Inh_MTokenList :: LineColPos,notSyntax_Inh_MTokenList :: SyntaxUsed,orSyntax_Inh_MTokenList :: SyntaxUsed,strSyntax_Inh_MTokenList :: SyntaxUsed}+data Syn_MTokenList = Syn_MTokenList {andSyntax_Syn_MTokenList :: SyntaxUsed,copy_Syn_MTokenList :: MTokenList,indentation_Syn_MTokenList :: SyntaxUsed,lineCommentSyntax_Syn_MTokenList :: SyntaxUsed,multilineCommentSyntax_Syn_MTokenList :: SyntaxUsed,neqSyntax_Syn_MTokenList :: SyntaxUsed,nextTokenPos_Syn_MTokenList :: LineColPos,notSyntax_Syn_MTokenList :: SyntaxUsed,orSyntax_Syn_MTokenList :: SyntaxUsed,strSyntax_Syn_MTokenList :: SyntaxUsed,warnings_Syn_MTokenList :: ([FilePath -> LintMessage])}+wrap_MTokenList :: T_MTokenList ->+ Inh_MTokenList ->+ Syn_MTokenList+wrap_MTokenList sem (Inh_MTokenList _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =+ (let ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) = sem _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax+ in (Syn_MTokenList _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings))+sem_MTokenList_Cons :: T_MToken ->+ T_MTokenList ->+ T_MTokenList+sem_MTokenList_Cons hd_ tl_ =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInextTokenPos+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInextTokenPos+ {-# LINE 362 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _hdOnextTokenPos ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 367 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _hdOstrSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 372 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _hdOorSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 377 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _hdOnotSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 382 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _hdOneqSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 387 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _hdOmultilineCommentSyntax ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 392 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _hdOlineCommentSyntax ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 397 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _hdOindentation ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIconfig+ {-# LINE 402 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _hdOconfig ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 407 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _hdOandSyntax ->+ (case (hd_ _hdOandSyntax _hdOconfig _hdOindentation _hdOlineCommentSyntax _hdOmultilineCommentSyntax _hdOneqSyntax _hdOnextTokenPos _hdOnotSyntax _hdOorSyntax _hdOstrSyntax) of+ { ( _hdIandSyntax,_hdIcopy,_hdIindentation,_hdIlineCommentSyntax,_hdImultilineCommentSyntax,_hdIneqSyntax,_hdInextTokenPos,_hdInotSyntax,_hdIorSyntax,_hdIstrSyntax,_hdIwarnings) ->+ (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}+ _hdInextTokenPos+ {-# LINE 414 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _tlOnextTokenPos ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _hdIandSyntax+ {-# LINE 419 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _tlOandSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _hdIstrSyntax+ {-# LINE 424 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _tlOstrSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _hdIorSyntax+ {-# LINE 429 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _tlOorSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _hdInotSyntax+ {-# LINE 434 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _tlOnotSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _hdIneqSyntax+ {-# LINE 439 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _tlOneqSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _hdImultilineCommentSyntax+ {-# LINE 444 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _tlOmultilineCommentSyntax ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _hdIlineCommentSyntax+ {-# LINE 449 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _tlOlineCommentSyntax ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _hdIindentation+ {-# LINE 454 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _tlOindentation ->+ (case (({-# LINE 128 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIconfig+ {-# LINE 459 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _tlOconfig ->+ (case (tl_ _tlOandSyntax _tlOconfig _tlOindentation _tlOlineCommentSyntax _tlOmultilineCommentSyntax _tlOneqSyntax _tlOnextTokenPos _tlOnotSyntax _tlOorSyntax _tlOstrSyntax) of+ { ( _tlIandSyntax,_tlIcopy,_tlIindentation,_tlIlineCommentSyntax,_tlImultilineCommentSyntax,_tlIneqSyntax,_tlInextTokenPos,_tlInotSyntax,_tlIorSyntax,_tlIstrSyntax,_tlIwarnings) ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _tlIandSyntax+ {-# LINE 466 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ (:) _hdIcopy _tlIcopy+ {-# LINE 471 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 476 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _tlIindentation+ {-# LINE 481 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _tlIlineCommentSyntax+ {-# LINE 486 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _tlImultilineCommentSyntax+ {-# LINE 491 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _tlIneqSyntax+ {-# LINE 496 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}+ _tlInextTokenPos+ {-# LINE 501 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _tlInotSyntax+ {-# LINE 506 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _tlIorSyntax+ {-# LINE 511 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _tlIstrSyntax+ {-# LINE 516 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ _hdIwarnings ++ _tlIwarnings+ {-# LINE 521 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+sem_MTokenList_Nil :: T_MTokenList+sem_MTokenList_Nil =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInextTokenPos+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 539 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 544 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 549 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 554 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 559 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 564 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 569 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInextTokenPos+ {-# LINE 574 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 579 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 584 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 589 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 594 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnextTokenPos,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }))+-- Token -------------------------------------------------------+-- cata+sem_Token :: Token ->+ T_Token+sem_Token (Whitespace _space) =+ (sem_Token_Whitespace _space)+sem_Token (DashComment _comment) =+ (sem_Token_DashComment _comment)+sem_Token (DashBlockComment _depth _comment) =+ (sem_Token_DashBlockComment _depth _comment)+sem_Token (SlashComment _comment) =+ (sem_Token_SlashComment _comment)+sem_Token (SlashBlockComment _comment) =+ (sem_Token_SlashBlockComment _comment)+sem_Token (Semicolon) =+ (sem_Token_Semicolon)+sem_Token (TNumber _num) =+ (sem_Token_TNumber _num)+sem_Token (DQString _str) =+ (sem_Token_DQString _str)+sem_Token (SQString _str) =+ (sem_Token_SQString _str)+sem_Token (MLString _str) =+ (sem_Token_MLString _str)+sem_Token (TTrue) =+ (sem_Token_TTrue)+sem_Token (TFalse) =+ (sem_Token_TFalse)+sem_Token (Nil) =+ (sem_Token_Nil)+sem_Token (VarArg) =+ (sem_Token_VarArg)+sem_Token (Plus) =+ (sem_Token_Plus)+sem_Token (Minus) =+ (sem_Token_Minus)+sem_Token (Multiply) =+ (sem_Token_Multiply)+sem_Token (Divide) =+ (sem_Token_Divide)+sem_Token (Modulus) =+ (sem_Token_Modulus)+sem_Token (Power) =+ (sem_Token_Power)+sem_Token (TEq) =+ (sem_Token_TEq)+sem_Token (TNEq) =+ (sem_Token_TNEq)+sem_Token (TCNEq) =+ (sem_Token_TCNEq)+sem_Token (TLEQ) =+ (sem_Token_TLEQ)+sem_Token (TGEQ) =+ (sem_Token_TGEQ)+sem_Token (TLT) =+ (sem_Token_TLT)+sem_Token (TGT) =+ (sem_Token_TGT)+sem_Token (Equals) =+ (sem_Token_Equals)+sem_Token (Concatenate) =+ (sem_Token_Concatenate)+sem_Token (Colon) =+ (sem_Token_Colon)+sem_Token (Dot) =+ (sem_Token_Dot)+sem_Token (Comma) =+ (sem_Token_Comma)+sem_Token (Hash) =+ (sem_Token_Hash)+sem_Token (Not) =+ (sem_Token_Not)+sem_Token (CNot) =+ (sem_Token_CNot)+sem_Token (And) =+ (sem_Token_And)+sem_Token (CAnd) =+ (sem_Token_CAnd)+sem_Token (Or) =+ (sem_Token_Or)+sem_Token (COr) =+ (sem_Token_COr)+sem_Token (Function) =+ (sem_Token_Function)+sem_Token (Local) =+ (sem_Token_Local)+sem_Token (If) =+ (sem_Token_If)+sem_Token (Then) =+ (sem_Token_Then)+sem_Token (Elseif) =+ (sem_Token_Elseif)+sem_Token (Else) =+ (sem_Token_Else)+sem_Token (For) =+ (sem_Token_For)+sem_Token (In) =+ (sem_Token_In)+sem_Token (Do) =+ (sem_Token_Do)+sem_Token (While) =+ (sem_Token_While)+sem_Token (Until) =+ (sem_Token_Until)+sem_Token (Repeat) =+ (sem_Token_Repeat)+sem_Token (Continue) =+ (sem_Token_Continue)+sem_Token (Break) =+ (sem_Token_Break)+sem_Token (Return) =+ (sem_Token_Return)+sem_Token (End) =+ (sem_Token_End)+sem_Token (LRound) =+ (sem_Token_LRound)+sem_Token (RRound) =+ (sem_Token_RRound)+sem_Token (LCurly) =+ (sem_Token_LCurly)+sem_Token (RCurly) =+ (sem_Token_RCurly)+sem_Token (LSquare) =+ (sem_Token_LSquare)+sem_Token (RSquare) =+ (sem_Token_RSquare)+sem_Token (Label _whitespaceBefore _lbl _whitespaceAfter) =+ (sem_Token_Label _whitespaceBefore _lbl _whitespaceAfter)+sem_Token (Identifier _ident) =+ (sem_Token_Identifier _ident)+-- semantic domain+type T_Token = LineColPos ->+ ( LineColPos,T_Token_1)+type T_Token_1 = SyntaxUsed ->+ LintSettings ->+ SyntaxUsed ->+ SyntaxUsed ->+ Region ->+ SyntaxUsed ->+ SyntaxUsed ->+ SyntaxUsed ->+ SyntaxUsed ->+ SyntaxUsed ->+ ( SyntaxUsed,Token,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,SyntaxUsed,([FilePath -> LintMessage]))+data Inh_Token = Inh_Token {andSyntax_Inh_Token :: SyntaxUsed,config_Inh_Token :: LintSettings,indentation_Inh_Token :: SyntaxUsed,lineCommentSyntax_Inh_Token :: SyntaxUsed,mpos_Inh_Token :: Region,multilineCommentSyntax_Inh_Token :: SyntaxUsed,neqSyntax_Inh_Token :: SyntaxUsed,nextTokenPos_Inh_Token :: LineColPos,notSyntax_Inh_Token :: SyntaxUsed,orSyntax_Inh_Token :: SyntaxUsed,strSyntax_Inh_Token :: SyntaxUsed}+data Syn_Token = Syn_Token {andSyntax_Syn_Token :: SyntaxUsed,copy_Syn_Token :: Token,indentation_Syn_Token :: SyntaxUsed,lineCommentSyntax_Syn_Token :: SyntaxUsed,multilineCommentSyntax_Syn_Token :: SyntaxUsed,neqSyntax_Syn_Token :: SyntaxUsed,nextTokenPos_Syn_Token :: LineColPos,notSyntax_Syn_Token :: SyntaxUsed,orSyntax_Syn_Token :: SyntaxUsed,strSyntax_Syn_Token :: SyntaxUsed,warnings_Syn_Token :: ([FilePath -> LintMessage])}+wrap_Token :: T_Token ->+ Inh_Token ->+ Syn_Token+wrap_Token sem (Inh_Token _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImpos _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInextTokenPos _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax) =+ (let ( _lhsOnextTokenPos,sem_1) = sem _lhsInextTokenPos+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) = sem_1 _lhsIandSyntax _lhsIconfig _lhsIindentation _lhsIlineCommentSyntax _lhsImpos _lhsImultilineCommentSyntax _lhsIneqSyntax _lhsInotSyntax _lhsIorSyntax _lhsIstrSyntax+ in (Syn_Token _lhsOandSyntax _lhsOcopy _lhsOindentation _lhsOlineCommentSyntax _lhsOmultilineCommentSyntax _lhsOneqSyntax _lhsOnextTokenPos _lhsOnotSyntax _lhsOorSyntax _lhsOstrSyntax _lhsOwarnings))+sem_Token_Whitespace :: String ->+ T_Token+sem_Token_Whitespace space_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 164 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInextTokenPos+ {-# LINE 757 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _curTokenPos ->+ (case (({-# LINE 165 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceStr _curTokenPos space_+ {-# LINE 762 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _nextTokenPos ->+ (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}+ _nextTokenPos+ {-# LINE 767 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Whitespace_1 :: T_Token_1+ sem_Token_Whitespace_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 784 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Whitespace space_+ {-# LINE 789 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 794 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 177 "src/GLuaFixer/AG/LexLint.ag" #-}+ Region (indentationStart _curTokenPos space_) _nextTokenPos+ {-# LINE 799 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _indentationRg ->+ (case (({-# LINE 168 "src/GLuaFixer/AG/LexLint.ag" #-}+ mkSyntax (isInfixOf "\n\t" space_) _indentationRg+ {-# LINE 804 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _usesTabs ->+ (case (({-# LINE 167 "src/GLuaFixer/AG/LexLint.ag" #-}+ mkSyntax (isInfixOf "\n " space_) _indentationRg+ {-# LINE 809 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _usesSpaces ->+ (case (({-# LINE 169 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation <> SyntaxUsed _usesSpaces _usesTabs+ {-# LINE 814 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 170 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 819 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _indentation ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _indentation+ {-# LINE 824 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 829 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 834 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 839 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 844 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 849 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 854 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 181 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 859 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 173 "src/GLuaFixer/AG/LexLint.ag" #-}+ locateTrailingWhitespace _curTokenPos space_+ {-# LINE 864 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _whitespaceStart ->+ (case (({-# LINE 174 "src/GLuaFixer/AG/LexLint.ag" #-}+ endOfTrailingWhitespace _whitespaceStart+ {-# LINE 869 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _whitespaceEnd ->+ (case (({-# LINE 181 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_trailingWhitespace _lhsIconfig) || (not (isInfixOf " \n" space_) && not (isInfixOf "\t\n" space_)) then id else (:) $ mTokenWarning (Region (fst _whitespaceStart ) _whitespaceEnd ) TrailingWhitespace+ {-# LINE 874 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f2 ->+ (case (({-# LINE 181 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_whitespaceStyle _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed InconsistentTabsSpaces+ {-# LINE 880 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 181 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1, _warnings_augmented_f2]+ {-# LINE 885 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Whitespace_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }) }))+sem_Token_DashComment :: String ->+ T_Token+sem_Token_DashComment comment_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ DashComment comment_+ {-# LINE 898 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 185 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 903 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _nextTokenPos ->+ (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}+ _nextTokenPos+ {-# LINE 908 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_DashComment_1 :: T_Token_1+ sem_Token_DashComment_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 925 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 930 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 935 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 187 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax <> SyntaxUsed (Just _lhsImpos) Nothing+ {-# LINE 940 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 188 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 945 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lineCommentSyntax ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lineCommentSyntax+ {-# LINE 950 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 955 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 960 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 965 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 970 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 975 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 189 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 980 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 189 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "--" "//"+ {-# LINE 986 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 189 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 991 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_DashComment_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }) }))+sem_Token_DashBlockComment :: Int ->+ String ->+ T_Token+sem_Token_DashBlockComment depth_ comment_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 202 "src/GLuaFixer/AG/LexLint.ag" #-}+ showString "--[" . showString (replicate depth_ '-') . showChar '[' . showString comment_ . showChar ']' . showString (replicate depth_ '-') . showChar ']' $ ""+ {-# LINE 1005 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _str ->+ (case (({-# LINE 203 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceStr _lhsInextTokenPos _str+ {-# LINE 1010 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_DashBlockComment_1 :: T_Token_1+ sem_Token_DashBlockComment_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1027 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ DashBlockComment depth_ comment_+ {-# LINE 1032 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1037 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1042 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 1047 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 205 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax <> SyntaxUsed (Just _lhsImpos) Nothing+ {-# LINE 1052 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 206 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 1057 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _multilineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _multilineCommentSyntax+ {-# LINE 1062 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1067 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1072 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1077 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 1082 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 207 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1087 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 207 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "--[[ ]]" "/* */"+ {-# LINE 1093 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 207 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 1098 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_DashBlockComment_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_SlashComment :: String ->+ T_Token+sem_Token_SlashComment comment_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ SlashComment comment_+ {-# LINE 1111 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 193 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 1116 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _nextTokenPos ->+ (case (({-# LINE 141 "src/GLuaFixer/AG/LexLint.ag" #-}+ _nextTokenPos+ {-# LINE 1121 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_SlashComment_1 :: T_Token_1+ sem_Token_SlashComment_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1138 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1143 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1148 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 195 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax <> SyntaxUsed Nothing (Just _lhsImpos)+ {-# LINE 1153 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 196 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 1158 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lineCommentSyntax ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lineCommentSyntax+ {-# LINE 1163 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 1168 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1173 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1178 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1183 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 1188 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 197 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1193 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 197 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "//" "--"+ {-# LINE 1199 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 197 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 1204 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_SlashComment_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }) }))+sem_Token_SlashBlockComment :: String ->+ T_Token+sem_Token_SlashBlockComment comment_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 211 "src/GLuaFixer/AG/LexLint.ag" #-}+ showString "/*" . showString comment_ . showString "*/" $ ""+ {-# LINE 1217 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _str ->+ (case (({-# LINE 212 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceStr _lhsInextTokenPos _str+ {-# LINE 1222 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_SlashBlockComment_1 :: T_Token_1+ sem_Token_SlashBlockComment_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1239 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ SlashBlockComment comment_+ {-# LINE 1244 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1249 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1254 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 1259 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 214 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax <> SyntaxUsed Nothing (Just _lhsImpos)+ {-# LINE 1264 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 215 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 1269 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _multilineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _multilineCommentSyntax+ {-# LINE 1274 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1279 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1284 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1289 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 1294 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 216 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1299 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 216 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "/* */" "--[[ ]]"+ {-# LINE 1305 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 216 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 1310 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_SlashBlockComment_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Semicolon :: T_Token+sem_Token_Semicolon =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Semicolon+ {-# LINE 1322 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 1327 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Semicolon_1 :: T_Token_1+ sem_Token_Semicolon_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1344 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1349 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1354 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 1359 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 1364 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1369 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1374 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1379 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 1384 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1389 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Semicolon_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_TNumber :: String ->+ T_Token+sem_Token_TNumber num_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ TNumber num_+ {-# LINE 1402 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 1407 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_TNumber_1 :: T_Token_1+ sem_Token_TNumber_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1424 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1429 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1434 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 1439 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 1444 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1449 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1454 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1459 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 1464 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1469 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_TNumber_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_DQString :: String ->+ T_Token+sem_Token_DQString str_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 224 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceStr _lhsInextTokenPos $ "\"" <> str_ <> "\""+ {-# LINE 1482 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_DQString_1 :: T_Token_1+ sem_Token_DQString_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1499 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ DQString str_+ {-# LINE 1504 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1509 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1514 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 1519 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 1524 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1529 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1534 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1539 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 226 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax <> SyntaxUsed (Just _lhsImpos) Nothing+ {-# LINE 1544 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 227 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 1549 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _strSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _strSyntax+ {-# LINE 1554 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 228 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1559 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 228 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "double quoted strings" "single quoted strings"+ {-# LINE 1565 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 228 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 1570 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_DQString_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }))+sem_Token_SQString :: String ->+ T_Token+sem_Token_SQString str_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 233 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceStr _lhsInextTokenPos $ "'" <> str_ <> "'"+ {-# LINE 1583 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_SQString_1 :: T_Token_1+ sem_Token_SQString_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1600 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ SQString str_+ {-# LINE 1605 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1610 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1615 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 1620 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 1625 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1630 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1635 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1640 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 236 "src/GLuaFixer/AG/LexLint.ag" #-}+ if isSingleChar str_ then Nothing else Just _lhsImpos+ {-# LINE 1645 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _usesSingleQuotedSyntax ->+ (case (({-# LINE 237 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax <> SyntaxUsed Nothing _usesSingleQuotedSyntax+ {-# LINE 1650 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 238 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 1655 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _strSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _strSyntax+ {-# LINE 1660 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 239 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1665 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 239 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "single quoted strings" "double quoted strings"+ {-# LINE 1671 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 239 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 1676 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_SQString_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }))+sem_Token_MLString :: String ->+ T_Token+sem_Token_MLString str_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 243 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceStr _lhsInextTokenPos str_+ {-# LINE 1689 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_MLString_1 :: T_Token_1+ sem_Token_MLString_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1706 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ MLString str_+ {-# LINE 1711 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1716 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1721 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 1726 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 1731 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1736 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1741 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1746 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 1751 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1756 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_MLString_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }))+sem_Token_TTrue :: T_Token+sem_Token_TTrue =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ TTrue+ {-# LINE 1768 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 1773 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_TTrue_1 :: T_Token_1+ sem_Token_TTrue_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1790 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1795 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1800 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 1805 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 1810 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1815 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1820 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1825 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 1830 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1835 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_TTrue_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_TFalse :: T_Token+sem_Token_TFalse =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ TFalse+ {-# LINE 1847 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 1852 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_TFalse_1 :: T_Token_1+ sem_Token_TFalse_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1869 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1874 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1879 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 1884 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 1889 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1894 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1899 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1904 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 1909 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1914 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_TFalse_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Nil :: T_Token+sem_Token_Nil =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Nil+ {-# LINE 1926 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 1931 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Nil_1 :: T_Token_1+ sem_Token_Nil_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 1948 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 1953 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 1958 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 1963 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 1968 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 1973 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 1978 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 1983 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 1988 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 1993 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Nil_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_VarArg :: T_Token+sem_Token_VarArg =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ VarArg+ {-# LINE 2005 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2010 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_VarArg_1 :: T_Token_1+ sem_Token_VarArg_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2027 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2032 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2037 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2042 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2047 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 2052 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2057 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2062 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2067 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2072 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_VarArg_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Plus :: T_Token+sem_Token_Plus =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Plus+ {-# LINE 2084 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2089 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Plus_1 :: T_Token_1+ sem_Token_Plus_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2106 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2111 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2116 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2121 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2126 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 2131 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2136 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2141 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2146 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2151 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Plus_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Minus :: T_Token+sem_Token_Minus =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Minus+ {-# LINE 2163 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2168 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Minus_1 :: T_Token_1+ sem_Token_Minus_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2185 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2190 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2195 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2200 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2205 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 2210 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2215 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2220 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2225 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2230 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Minus_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Multiply :: T_Token+sem_Token_Multiply =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Multiply+ {-# LINE 2242 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2247 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Multiply_1 :: T_Token_1+ sem_Token_Multiply_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2264 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2269 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2274 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2279 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2284 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 2289 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2294 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2299 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2304 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2309 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Multiply_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Divide :: T_Token+sem_Token_Divide =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Divide+ {-# LINE 2321 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2326 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Divide_1 :: T_Token_1+ sem_Token_Divide_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2343 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2348 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2353 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2358 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2363 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 2368 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2373 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2378 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2383 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2388 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Divide_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Modulus :: T_Token+sem_Token_Modulus =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Modulus+ {-# LINE 2400 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2405 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Modulus_1 :: T_Token_1+ sem_Token_Modulus_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2422 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2427 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2432 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2437 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2442 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 2447 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2452 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2457 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2462 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2467 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Modulus_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Power :: T_Token+sem_Token_Power =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Power+ {-# LINE 2479 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2484 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Power_1 :: T_Token_1+ sem_Token_Power_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2501 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2506 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2511 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2516 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2521 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 2526 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2531 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2536 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2541 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2546 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Power_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_TEq :: T_Token+sem_Token_TEq =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ TEq+ {-# LINE 2558 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2563 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_TEq_1 :: T_Token_1+ sem_Token_TEq_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2580 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2585 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2590 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2595 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2600 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 2605 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2610 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2615 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2620 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2625 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_TEq_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_TNEq :: T_Token+sem_Token_TNEq =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ TNEq+ {-# LINE 2637 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2642 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_TNEq_1 :: T_Token_1+ sem_Token_TNEq_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2659 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2664 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2669 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2674 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2679 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 282 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax <> SyntaxUsed (Just _lhsImpos) Nothing+ {-# LINE 2684 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 283 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 2689 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _neqSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _neqSyntax+ {-# LINE 2694 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2699 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2704 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2709 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 284 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2714 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 284 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "~=" "!="+ {-# LINE 2720 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 284 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 2725 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_TNEq_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_TCNEq :: T_Token+sem_Token_TCNEq =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ TCNEq+ {-# LINE 2737 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2742 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_TCNEq_1 :: T_Token_1+ sem_Token_TCNEq_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2759 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2764 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2769 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2774 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2779 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 288 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax <> SyntaxUsed Nothing (Just _lhsImpos)+ {-# LINE 2784 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 289 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 2789 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _neqSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _neqSyntax+ {-# LINE 2794 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2799 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2804 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2809 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 290 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2814 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 290 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "!=" "~="+ {-# LINE 2820 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 290 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 2825 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_TCNEq_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_TLEQ :: T_Token+sem_Token_TLEQ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ TLEQ+ {-# LINE 2837 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2842 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_TLEQ_1 :: T_Token_1+ sem_Token_TLEQ_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2859 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2864 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2869 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2874 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2879 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 2884 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2889 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2894 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2899 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2904 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_TLEQ_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_TGEQ :: T_Token+sem_Token_TGEQ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ TGEQ+ {-# LINE 2916 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 2921 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_TGEQ_1 :: T_Token_1+ sem_Token_TGEQ_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 2938 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 2943 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 2948 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 2953 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 2958 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 2963 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 2968 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 2973 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 2978 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 2983 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_TGEQ_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_TLT :: T_Token+sem_Token_TLT =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ TLT+ {-# LINE 2995 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3000 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_TLT_1 :: T_Token_1+ sem_Token_TLT_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 3017 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3022 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3027 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3032 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3037 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3042 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 3047 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3052 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3057 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3062 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_TLT_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_TGT :: T_Token+sem_Token_TGT =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ TGT+ {-# LINE 3074 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3079 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_TGT_1 :: T_Token_1+ sem_Token_TGT_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 3096 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3101 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3106 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3111 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3116 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3121 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 3126 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3131 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3136 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3141 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_TGT_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Equals :: T_Token+sem_Token_Equals =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Equals+ {-# LINE 3153 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3158 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Equals_1 :: T_Token_1+ sem_Token_Equals_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 3175 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3180 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3185 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3190 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3195 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3200 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 3205 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3210 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3215 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3220 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Equals_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Concatenate :: T_Token+sem_Token_Concatenate =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Concatenate+ {-# LINE 3232 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3237 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Concatenate_1 :: T_Token_1+ sem_Token_Concatenate_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 3254 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3259 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3264 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3269 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3274 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3279 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 3284 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3289 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3294 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3299 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Concatenate_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Colon :: T_Token+sem_Token_Colon =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Colon+ {-# LINE 3311 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3316 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Colon_1 :: T_Token_1+ sem_Token_Colon_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 3333 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3338 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3343 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3348 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3353 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3358 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 3363 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3368 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3373 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3378 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Colon_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Dot :: T_Token+sem_Token_Dot =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Dot+ {-# LINE 3390 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3395 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Dot_1 :: T_Token_1+ sem_Token_Dot_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 3412 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3417 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3422 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3427 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3432 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3437 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 3442 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3447 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3452 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3457 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Dot_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Comma :: T_Token+sem_Token_Comma =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Comma+ {-# LINE 3469 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3474 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Comma_1 :: T_Token_1+ sem_Token_Comma_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 3491 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3496 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3501 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3506 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3511 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3516 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 3521 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3526 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3531 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3536 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Comma_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Hash :: T_Token+sem_Token_Hash =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Hash+ {-# LINE 3548 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3553 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Hash_1 :: T_Token_1+ sem_Token_Hash_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 3570 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3575 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3580 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3585 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3590 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3595 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 3600 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3605 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3610 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3615 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Hash_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Not :: T_Token+sem_Token_Not =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Not+ {-# LINE 3627 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3632 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Not_1 :: T_Token_1+ sem_Token_Not_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 3649 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3654 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3659 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3664 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3669 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3674 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 246 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax <> SyntaxUsed (Just _lhsImpos) Nothing+ {-# LINE 3679 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 247 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 3684 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _notSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _notSyntax+ {-# LINE 3689 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3694 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3699 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 248 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3704 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 248 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "not" "!"+ {-# LINE 3710 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 248 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 3715 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Not_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_CNot :: T_Token+sem_Token_CNot =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ CNot+ {-# LINE 3727 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3732 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_CNot_1 :: T_Token_1+ sem_Token_CNot_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 3749 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3754 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3759 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3764 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3769 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3774 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 252 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax <> SyntaxUsed Nothing (Just _lhsImpos)+ {-# LINE 3779 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 253 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 3784 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _notSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _notSyntax+ {-# LINE 3789 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3794 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3799 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 254 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3804 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 254 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "!" "not"+ {-# LINE 3810 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 254 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 3815 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_CNot_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_And :: T_Token+sem_Token_And =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ And+ {-# LINE 3827 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3832 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_And_1 :: T_Token_1+ sem_Token_And_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 258 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax <> SyntaxUsed (Just _lhsImpos) Nothing+ {-# LINE 3849 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 259 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 3854 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _andSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _andSyntax+ {-# LINE 3859 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3864 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3869 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3874 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3879 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3884 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 3889 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3894 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3899 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 260 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 3904 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 260 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "and" "&&"+ {-# LINE 3910 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 260 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 3915 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_And_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_CAnd :: T_Token+sem_Token_CAnd =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ CAnd+ {-# LINE 3927 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 3932 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_CAnd_1 :: T_Token_1+ sem_Token_CAnd_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 264 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax <> SyntaxUsed Nothing (Just _lhsImpos)+ {-# LINE 3949 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 265 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 3954 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _andSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _andSyntax+ {-# LINE 3959 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 3964 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 3969 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 3974 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 3979 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 3984 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 3989 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 3994 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 3999 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 266 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4004 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 266 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "&&" "and"+ {-# LINE 4010 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 266 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 4015 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_CAnd_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Or :: T_Token+sem_Token_Or =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Or+ {-# LINE 4027 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4032 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Or_1 :: T_Token_1+ sem_Token_Or_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4049 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4054 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4059 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4064 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4069 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4074 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4079 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 270 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax <> SyntaxUsed (Just _lhsImpos) Nothing+ {-# LINE 4084 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 271 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 4089 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _orSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _orSyntax+ {-# LINE 4094 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4099 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 272 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4104 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 272 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "or" "||"+ {-# LINE 4110 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 272 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 4115 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Or_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_COr :: T_Token+sem_Token_COr =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ COr+ {-# LINE 4127 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4132 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_COr_1 :: T_Token_1+ sem_Token_COr_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4149 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4154 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4159 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4164 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4169 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4174 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4179 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 276 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax <> SyntaxUsed Nothing (Just _lhsImpos)+ {-# LINE 4184 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _combinedSyntaxUsed ->+ (case (({-# LINE 277 "src/GLuaFixer/AG/LexLint.ag" #-}+ resetIfInconsistent _combinedSyntaxUsed+ {-# LINE 4189 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _orSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _orSyntax+ {-# LINE 4194 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4199 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 278 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4204 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_syn ->+ (case (({-# LINE 278 "src/GLuaFixer/AG/LexLint.ag" #-}+ if not (lint_syntaxInconsistencies _lhsIconfig) then id else+ warnInconsistency _combinedSyntaxUsed $ SyntaxInconsistency "||" "or"+ {-# LINE 4210 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _warnings_augmented_f1 ->+ (case (({-# LINE 278 "src/GLuaFixer/AG/LexLint.ag" #-}+ foldr ($) _warnings_augmented_syn [_warnings_augmented_f1]+ {-# LINE 4215 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_COr_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Function :: T_Token+sem_Token_Function =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Function+ {-# LINE 4227 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4232 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Function_1 :: T_Token_1+ sem_Token_Function_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4249 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4254 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4259 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4264 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4269 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4274 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4279 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 4284 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4289 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4294 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Function_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Local :: T_Token+sem_Token_Local =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Local+ {-# LINE 4306 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4311 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Local_1 :: T_Token_1+ sem_Token_Local_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4328 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4333 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4338 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4343 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4348 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4353 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4358 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 4363 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4368 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4373 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Local_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_If :: T_Token+sem_Token_If =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ If+ {-# LINE 4385 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4390 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_If_1 :: T_Token_1+ sem_Token_If_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4407 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4412 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4417 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4422 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4427 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4432 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4437 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 4442 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4447 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4452 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_If_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Then :: T_Token+sem_Token_Then =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Then+ {-# LINE 4464 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4469 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Then_1 :: T_Token_1+ sem_Token_Then_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4486 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4491 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4496 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4501 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4506 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4511 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4516 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 4521 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4526 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4531 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Then_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Elseif :: T_Token+sem_Token_Elseif =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Elseif+ {-# LINE 4543 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4548 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Elseif_1 :: T_Token_1+ sem_Token_Elseif_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4565 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4570 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4575 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4580 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4585 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4590 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4595 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 4600 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4605 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4610 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Elseif_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Else :: T_Token+sem_Token_Else =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Else+ {-# LINE 4622 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4627 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Else_1 :: T_Token_1+ sem_Token_Else_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4644 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4649 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4654 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4659 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4664 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4669 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4674 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 4679 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4684 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4689 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Else_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_For :: T_Token+sem_Token_For =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ For+ {-# LINE 4701 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4706 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_For_1 :: T_Token_1+ sem_Token_For_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4723 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4728 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4733 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4738 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4743 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4748 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4753 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 4758 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4763 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4768 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_For_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_In :: T_Token+sem_Token_In =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ In+ {-# LINE 4780 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4785 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_In_1 :: T_Token_1+ sem_Token_In_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4802 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4807 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4812 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4817 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4822 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4827 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4832 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 4837 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4842 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4847 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_In_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Do :: T_Token+sem_Token_Do =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Do+ {-# LINE 4859 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4864 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Do_1 :: T_Token_1+ sem_Token_Do_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4881 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4886 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4891 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4896 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4901 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4906 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4911 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 4916 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 4921 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 4926 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Do_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_While :: T_Token+sem_Token_While =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ While+ {-# LINE 4938 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 4943 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_While_1 :: T_Token_1+ sem_Token_While_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 4960 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 4965 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 4970 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 4975 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 4980 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 4985 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 4990 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 4995 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5000 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5005 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_While_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Until :: T_Token+sem_Token_Until =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Until+ {-# LINE 5017 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5022 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Until_1 :: T_Token_1+ sem_Token_Until_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5039 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5044 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5049 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5054 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5059 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5064 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5069 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5074 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5079 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5084 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Until_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Repeat :: T_Token+sem_Token_Repeat =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Repeat+ {-# LINE 5096 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5101 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Repeat_1 :: T_Token_1+ sem_Token_Repeat_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5118 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5123 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5128 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5133 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5138 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5143 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5148 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5153 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5158 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5163 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Repeat_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Continue :: T_Token+sem_Token_Continue =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Continue+ {-# LINE 5175 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5180 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Continue_1 :: T_Token_1+ sem_Token_Continue_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5197 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5202 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5207 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5212 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5217 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5222 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5227 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5232 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5237 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5242 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Continue_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Break :: T_Token+sem_Token_Break =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Break+ {-# LINE 5254 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5259 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Break_1 :: T_Token_1+ sem_Token_Break_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5276 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5281 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5286 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5291 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5296 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5301 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5306 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5311 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5316 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5321 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Break_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Return :: T_Token+sem_Token_Return =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Return+ {-# LINE 5333 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5338 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Return_1 :: T_Token_1+ sem_Token_Return_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5355 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5360 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5365 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5370 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5375 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5380 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5385 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5390 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5395 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5400 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Return_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_End :: T_Token+sem_Token_End =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ End+ {-# LINE 5412 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5417 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_End_1 :: T_Token_1+ sem_Token_End_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5434 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5439 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5444 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5449 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5454 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5459 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5464 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5469 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5474 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5479 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_End_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_LRound :: T_Token+sem_Token_LRound =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ LRound+ {-# LINE 5491 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5496 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_LRound_1 :: T_Token_1+ sem_Token_LRound_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5513 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5518 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5523 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5528 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5533 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5538 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5543 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5548 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5553 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5558 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_LRound_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_RRound :: T_Token+sem_Token_RRound =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ RRound+ {-# LINE 5570 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5575 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_RRound_1 :: T_Token_1+ sem_Token_RRound_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5592 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5597 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5602 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5607 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5612 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5617 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5622 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5627 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5632 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5637 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_RRound_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_LCurly :: T_Token+sem_Token_LCurly =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ LCurly+ {-# LINE 5649 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5654 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_LCurly_1 :: T_Token_1+ sem_Token_LCurly_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5671 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5676 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5681 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5686 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5691 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5696 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5701 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5706 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5711 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5716 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_LCurly_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_RCurly :: T_Token+sem_Token_RCurly =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ RCurly+ {-# LINE 5728 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5733 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_RCurly_1 :: T_Token_1+ sem_Token_RCurly_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5750 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5755 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5760 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5765 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5770 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5775 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5780 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5785 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5790 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5795 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_RCurly_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_LSquare :: T_Token+sem_Token_LSquare =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ LSquare+ {-# LINE 5807 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5812 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_LSquare_1 :: T_Token_1+ sem_Token_LSquare_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5829 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5834 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5839 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5844 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5849 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5854 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5859 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5864 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5869 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5874 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_LSquare_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_RSquare :: T_Token+sem_Token_RSquare =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ RSquare+ {-# LINE 5886 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 5891 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_RSquare_1 :: T_Token_1+ sem_Token_RSquare_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5908 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5913 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 5918 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 5923 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 5928 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 5933 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 5938 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 5943 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 5948 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 5953 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_RSquare_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Label :: String ->+ String ->+ String ->+ T_Token+sem_Token_Label whitespaceBefore_ lbl_ whitespaceAfter_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Label whitespaceBefore_ lbl_ whitespaceAfter_+ {-# LINE 5968 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 294 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceStr _lhsInextTokenPos (show _copy )+ {-# LINE 5973 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Label_1 :: T_Token_1+ sem_Token_Label_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 5990 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 5995 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 6000 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 6005 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 6010 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 6015 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 6020 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 6025 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 6030 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 6035 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Label_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))+sem_Token_Identifier :: String ->+ T_Token+sem_Token_Identifier ident_ =+ (\ _lhsInextTokenPos ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ Identifier ident_+ {-# LINE 6048 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _copy ->+ (case (({-# LINE 220 "src/GLuaFixer/AG/LexLint.ag" #-}+ customAdvanceToken _lhsInextTokenPos _copy+ {-# LINE 6053 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnextTokenPos ->+ (case ((let sem_Token_Identifier_1 :: T_Token_1+ sem_Token_Identifier_1 =+ (\ _lhsIandSyntax+ _lhsIconfig+ _lhsIindentation+ _lhsIlineCommentSyntax+ _lhsImpos+ _lhsImultilineCommentSyntax+ _lhsIneqSyntax+ _lhsInotSyntax+ _lhsIorSyntax+ _lhsIstrSyntax ->+ (case (({-# LINE 135 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIandSyntax+ {-# LINE 6070 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOandSyntax ->+ (case (({-# LINE 127 "src/GLuaFixer/AG/LexLint.ag" #-}+ _copy+ {-# LINE 6075 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOcopy ->+ (case (({-# LINE 139 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIindentation+ {-# LINE 6080 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOindentation ->+ (case (({-# LINE 132 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIlineCommentSyntax+ {-# LINE 6085 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOlineCommentSyntax ->+ (case (({-# LINE 133 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsImultilineCommentSyntax+ {-# LINE 6090 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOmultilineCommentSyntax ->+ (case (({-# LINE 137 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIneqSyntax+ {-# LINE 6095 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOneqSyntax ->+ (case (({-# LINE 134 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsInotSyntax+ {-# LINE 6100 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOnotSyntax ->+ (case (({-# LINE 136 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIorSyntax+ {-# LINE 6105 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOorSyntax ->+ (case (({-# LINE 138 "src/GLuaFixer/AG/LexLint.ag" #-}+ _lhsIstrSyntax+ {-# LINE 6110 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOstrSyntax ->+ (case (({-# LINE 130 "src/GLuaFixer/AG/LexLint.ag" #-}+ []+ {-# LINE 6115 "src/GLuaFixer/AG/LexLint.hs" #-}+ )) of+ { _lhsOwarnings ->+ ( _lhsOandSyntax,_lhsOcopy,_lhsOindentation,_lhsOlineCommentSyntax,_lhsOmultilineCommentSyntax,_lhsOneqSyntax,_lhsOnotSyntax,_lhsOorSyntax,_lhsOstrSyntax,_lhsOwarnings) }) }) }) }) }) }) }) }) }) }))+ in sem_Token_Identifier_1)) of+ { ( sem_Token_1) ->+ ( _lhsOnextTokenPos,sem_Token_1) }) }) }))
src/GLuaFixer/BadSequenceFinder.hs view
@@ -3,8 +3,9 @@ module GLuaFixer.BadSequenceFinder (sequenceWarnings, checkFromString) where import GLua.AG.Token-import qualified GLua.PSLexer as PSL-import GLua.PSParser+import qualified GLua.Lexer as Lexer+import GLua.Parser+import GLua.Position (Region) import GLuaFixer.LintMessage import GLuaFixer.LintSettings import Text.Parsec@@ -483,5 +484,5 @@ -- | Helper function: check from string checkFromString :: AParser a -> String -> Either ParseError a checkFromString p inp = do- lexed <- PSL.execParseTokens inp+ lexed <- Lexer.execParseTokens inp execAParser "source.lua" p lexed
src/GLuaFixer/Interface.hs view
@@ -2,19 +2,16 @@ import GLua.AG.AST (AST) import GLua.AG.PrettyPrint (prettyprintConf)-import GLua.AG.Token (MToken, Region)-import qualified GLua.Lexer as UUL+import GLua.AG.Token (MToken)+import qualified GLua.Lexer as Lexer import GLua.LineLimitParser (LineLimit (..), execParseLineLimits)-import qualified GLua.PSLexer as PSL-import qualified GLua.PSParser as PSP-import qualified GLua.Parser as UUP+import qualified GLua.Parser as Parser import GLuaFixer.AG.ASTLint (astWarnings) import GLuaFixer.AG.LexLint (fixedLexPositions, lintWarnings) import GLuaFixer.BadSequenceFinder (sequenceWarnings) import GLuaFixer.LintMessage (Issue (..), LintMessage (..), Severity (..)) import GLuaFixer.LintSettings (LintSettings (..), lint2ppSetting) import Text.Parsec.Error (errorPos)-import Text.ParserCombinators.UU.BasicInstances (Error, LineColPos) -- | Run the linters that apply to the source code of a file sourceLint :: LintSettings -> FilePath -> String -> [LintMessage]@@ -24,19 +21,11 @@ -- | Generate the lexicon of a source file, used as input for the parser lex :: LintSettings -> FilePath -> String -> Either [LintMessage] [MToken] lex lintSettings filepath contents =- case PSL.execParseTokens contents of+ case Lexer.execParseTokens contents of Left lexErr ->- Left [LintMessage LintError (PSL.sp2Rg $ errorPos lexErr) (IssueParseError lexErr) filepath | lint_syntaxErrors lintSettings]+ Left [LintMessage LintError (Lexer.sp2Rg $ errorPos lexErr) (IssueParseError lexErr) filepath | lint_syntaxErrors lintSettings] Right tokens -> Right $ fixedLexPositions tokens --- | Use the (slower, but error-correcting) UU-parsinglib lexer to generate the lexicon-lexUU :: LintSettings -> String -> ([MToken], [Error LineColPos])-lexUU lintSettings contents = case UUL.execParseTokens contents of- (tokens, errors) ->- ( fixedLexPositions tokens- , [err | lint_syntaxErrors lintSettings, err <- errors]- )- -- | Run the linting functions that inspect the lexicon lexiconLint :: FilePath -> LintSettings -> [MToken] -> [LintMessage] lexiconLint filepath lintSettings tokens =@@ -46,16 +35,11 @@ -- | Parse a lexicon into an Abstract Syntax Tree parse :: LintSettings -> FilePath -> [MToken] -> Either [LintMessage] AST parse lintSettings filepath tokens =- case PSP.parseGLua tokens of+ case Parser.parseGLua tokens of Left err -> -- Return syntax errors- Left [LintMessage LintError (PSL.sp2Rg $ errorPos err) (IssueParseError err) filepath | lint_syntaxErrors lintSettings]+ Left [LintMessage LintError (Lexer.sp2Rg $ errorPos err) (IssueParseError err) filepath | lint_syntaxErrors lintSettings] Right ast -> Right ast---- | Parse a lexicon into an Abstract Syntax Tree using the slower, but error-correcting--- uu-parsinglib-parseUU :: [MToken] -> (AST, [Error Region])-parseUU = UUP.parseGLua -- | Run the linters that inspect the AST astLint :: FilePath -> LintSettings -> AST -> [LintMessage]
src/GLuaFixer/LintMessage.hs view
@@ -7,12 +7,11 @@ import Data.Aeson import Data.List (sortOn) import Data.Maybe (isJust)+import GLua.AG.PrettyPrint (renderPSError, renderPos, renderRegion)+import GLua.AG.Token (Token)+import GLua.Position (LineColPos (..), Region (..)) import System.Environment (lookupEnv) import Text.Parsec (ParseError)-import Text.ParserCombinators.UU.BasicInstances hiding (msgs)--import GLua.AG.PrettyPrint-import GLua.AG.Token -- | Output formats for logging data LogFormat = StandardLogFormat | GithubLogFormat
src/GLuaFixer/LintSettings.hs view
@@ -78,7 +78,6 @@ , prettyprint_removeRedundantParens :: !Bool , prettyprint_minimizeParens :: !Bool , prettyprint_assumeOperatorAssociativity :: !Bool- , prettyprint_rejectInvalidCode :: !Bool , prettyprint_indentation :: !String , log_format :: !LogFormatChoice }@@ -127,7 +126,6 @@ , prettyprint_removeRedundantParens = True , prettyprint_minimizeParens = False , prettyprint_assumeOperatorAssociativity = True- , prettyprint_rejectInvalidCode = False , prettyprint_indentation = " " , log_format = AutoLogFormatChoice }@@ -190,7 +188,6 @@ <*> v .:? "prettyprint_removeRedundantParens" .!= prettyprint_removeRedundantParens defaultLintSettings <*> v .:? "prettyprint_minimizeParens" .!= prettyprint_minimizeParens defaultLintSettings <*> v .:? "prettyprint_assumeOperatorAssociativity" .!= prettyprint_assumeOperatorAssociativity defaultLintSettings- <*> v .:? "prettyprint_rejectInvalidCode" .!= prettyprint_rejectInvalidCode defaultLintSettings <*> v .:? "prettyprint_indentation" .!= prettyprint_indentation defaultLintSettings <*> v .:? "log_format" .!= log_format defaultLintSettings parseJSON _ = mzero@@ -255,7 +252,6 @@ , "prettyprint_removeRedundantParens" .= prettyprint_removeRedundantParens ls , "prettyprint_minimizeParens" .= prettyprint_minimizeParens ls , "prettyprint_assumeOperatorAssociativity" .= prettyprint_assumeOperatorAssociativity ls- , "prettyprint_rejectInvalidCode" .= prettyprint_rejectInvalidCode ls , "prettyprint_indentation" .= prettyprint_indentation ls , "log_format" .= log_format ls ]
tests/golden/data/input/various-comments.lua view
@@ -56,6 +56,8 @@ local function foo() -- same-line-comment end +-- Rendering of comments after return (or instead of return) reported here:+-- https://github.com/FPtje/GLuaFixer/issues/170#issuecomment-1828253356 function foo() -- Comment before return return 1, 2, 3 -- comment on same line as return
tests/golden/data/output/issue-106.lua view
@@ -1,5 +1,7 @@ a( {b},- function() end, -- comment+ function()+ -- comment+ end, function() end )
tests/golden/data/output/various-comments.lua view
@@ -1,6 +1,8 @@ -- Comment before if-statement-if false then end -- same-line comment--- print("TODO")+if false then -- same-line comment+ -- print("TODO")+end+ if true then a = 2 -- bar end@@ -26,28 +28,33 @@ end -- Comment before if-statement-if true then return end--- comment after return on new line+if true then+ return+ -- comment after return on new line+end+ -- Comment before if-statement if true then return end -- comment after end if true or false then return end --[[ comment in condition]] -- single line comment in condition for var = 1, 10 do -- same-line comment+ -- print("TODO") end --- print("TODO") for k, v in pairs(player.GetAll()) do -- same-line comment+ -- print("TODO") end --- print("TODO") function foo() -- same-line-comment end local function foo() -- same-line-comment end +-- Rendering of comments after return (or instead of return) reported here:+-- https://github.com/FPtje/GLuaFixer/issues/170#issuecomment-1828253356 function foo() -- Comment before return return 1, 2, 3 -- comment on same line as return+ -- comment after return end--- comment after return
+ tests/linttest/Spec.hs view
@@ -0,0 +1,71 @@+import qualified Data.ByteString.Lazy as LBS+import qualified Data.ByteString.Lazy.Char8 as LBS8+import GLua.Position (LineColPos (..), Region (..))+import qualified GLuaFixer.Interface as GLua+import GLuaFixer.LintMessage (+ Issue (..),+ LintMessage (..),+ Severity (..),+ )+import GLuaFixer.LintSettings (LintSettings, defaultLintSettings)+import Test.Tasty (TestTree, defaultMain, testGroup)+import Test.Tasty.HUnit (testCase, (@=?))++main :: IO ()+main = defaultMain tests++tests :: TestTree+tests =+ testGroup+ "Unit tests"+ [ testQuotedStringWarningPosition+ , testEmptyIfWarningPosition+ ]++-- | Regression test for https://github.com/FPtje/GLuaFixer/issues/169+testQuotedStringWarningPosition :: TestTree+testQuotedStringWarningPosition =+ testCase "The syntax inconsistency warning is thrown and in the right region" $+ let+ input = "bar = a or b\nfoo = \"\" and \"\" and \"dddd\" || \"[]\""+ expectedRegion1 = Region (LineColPos 0 8 8) (LineColPos 0 10 10)+ warning1 = SyntaxInconsistency "||" "or"+ msg1 = LintMessage LintWarning expectedRegion1 warning1 testFilePath++ expectedRegion2 = Region (LineColPos 1 27 40) (LineColPos 1 29 42)+ warning2 = SyntaxInconsistency "||" "or"+ msg2 = LintMessage LintWarning expectedRegion2 warning2 testFilePath+ in+ [msg1, msg2] @=? lintString input++-- | Regression test for https://github.com/FPtje/GLuaFixer/issues/170+testEmptyIfWarningPosition :: TestTree+testEmptyIfWarningPosition = do+ testCase "The empty-if-statement is thrown and in the right region for if-statements" $+ let+ inputEmptyIf = "if true then end"+ inputWithElse = "if true then\nelse print(1) end"+ expectedRegionEmptyIf = Region (LineColPos 0 0 0) (LineColPos 0 16 16)+ expectedRegionWithElse = Region (LineColPos 0 0 0) (LineColPos 1 0 13)+ warning = EmptyIf+ msgEmptyIf = LintMessage LintWarning expectedRegionEmptyIf warning testFilePath+ msgWithElse = LintMessage LintWarning expectedRegionWithElse warning testFilePath+ in+ do+ lintString inputEmptyIf @=? [msgEmptyIf]+ lintString inputWithElse @=? [msgWithElse]++-- | Helper to lint a string+lintString :: String -> [LintMessage]+lintString input =+ let+ settings = defaultLintSettings+ in+ case GLua.lex settings testFilePath input of+ Left errs -> errs+ Right mTokens -> case GLua.parse settings testFilePath mTokens of+ Left errs -> errs+ Right ast -> GLua.lexiconLint testFilePath settings mTokens <> GLua.astLint testFilePath settings ast++testFilePath :: String+testFilePath = "test input"