equal
deleted
inserted
replaced
662 wrapPhrase p@(Phrases _) = p |
662 wrapPhrase p@(Phrases _) = p |
663 wrapPhrase p = Phrases [p] |
663 wrapPhrase p = Phrases [p] |
664 |
664 |
665 expr2C :: Expression -> State RenderState Doc |
665 expr2C :: Expression -> State RenderState Doc |
666 expr2C (Expression s) = return $ text s |
666 expr2C (Expression s) = return $ text s |
667 expr2C (BinOp op expr1 expr2) = do |
667 expr2C b@(BinOp op expr1 expr2) = do |
668 e1 <- expr2C expr1 |
668 e1 <- expr2C expr1 |
669 t1 <- gets lastType |
669 t1 <- gets lastType |
670 e2 <- expr2C expr2 |
670 e2 <- expr2C expr2 |
671 t2 <- gets lastType |
671 t2 <- gets lastType |
672 case (op2C op, t1, t2) of |
672 case (op2C op, t1, t2) of |
762 ref2CF :: Reference -> State RenderState Doc |
762 ref2CF :: Reference -> State RenderState Doc |
763 ref2CF (SimpleReference name) = do |
763 ref2CF (SimpleReference name) = do |
764 i <- id2C IOLookup name |
764 i <- id2C IOLookup name |
765 t <- gets lastType |
765 t <- gets lastType |
766 case t of |
766 case t of |
767 BTFunction {} -> return $ i <> parens empty |
767 BTFunction _ rt -> do |
|
768 modify(\s -> s{lastType = rt}) |
|
769 return $ i <> parens empty |
768 _ -> return $ i |
770 _ -> return $ i |
769 ref2CF r@(RecordField (SimpleReference _) (SimpleReference _)) = do |
771 ref2CF r@(RecordField (SimpleReference _) (SimpleReference _)) = do |
770 i <- ref2C r |
772 i <- ref2C r |
771 t <- gets lastType |
773 t <- gets lastType |
772 case t of |
774 case t of |
773 BTFunction {} -> return $ i <> parens empty |
775 BTFunction _ rt -> do |
|
776 modify(\s -> s{lastType = rt}) |
|
777 return $ i <> parens empty |
774 _ -> return $ i |
778 _ -> return $ i |
775 ref2CF r = ref2C r |
779 ref2CF r = ref2C r |
776 |
780 |
777 ref2C :: Reference -> State RenderState Doc |
781 ref2C :: Reference -> State RenderState Doc |
778 -- rewrite into proper form |
782 -- rewrite into proper form |