on master help sign in
Use only one "var" per branch
7cb8c74Evan Czaplicki
src/Generate/JavaScript.hs+6−4
@@ -450,15 +450,17 @@ fallbackToDefault root fallback =
450
450
451generateBranch :: String -> Opt.Branch -> State Int [Statement ()]
451generateBranch :: String -> Opt.Branch -> State Int [Statement ()]
452generateBranch root (Opt.Branch substitutions expr) =
452generateBranch root (Opt.Branch substitutions expr) =
453− do subts <- mapM (loadPath root) substitutions
453+ do substs <- mapM (loadPath root) substitutions
454+ let substStmts =
455+ if null substs then [] else [ VarDeclStmt () substs ]
454 code <- generateCode expr
456 code <- generateCode expr
455− return (subts ++ toStatementList code)
457+ return (substStmts ++ toStatementList code)
456
458
457
459
458−loadPath :: String -> (String, DT.Path) -> State Int (Statement ())
460+loadPath :: String -> (String, DT.Path) -> State Int (VarDecl ())
459loadPath root (name, path) =
461loadPath root (name, path) =
460 do jsAccessExpr <- generateJsExpr (pathToExpr root path)
462 do jsAccessExpr <- generateJsExpr (pathToExpr root path)
461− return $ VarDeclStmt () [ varDecl name jsAccessExpr ]
463+ return $ varDecl name jsAccessExpr
462
464
463
465
464pathToExpr :: String -> DT.Path -> Opt.Expr
466pathToExpr :: String -> DT.Path -> Opt.Expr