From 1eb81c602719e44ede54254ce2ebaaf9ac32e492 Mon Sep 17 00:00:00 2001 From: Gabriel Nordeborn Date: Thu, 29 Jun 2023 12:04:40 +0200 Subject: [PATCH] latest parser --- analysis/vendor/res_syntax/res_printer.ml | 24 +++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/analysis/vendor/res_syntax/res_printer.ml b/analysis/vendor/res_syntax/res_printer.ml index b1f47d23a..0b456ffea 100644 --- a/analysis/vendor/res_syntax/res_printer.ml +++ b/analysis/vendor/res_syntax/res_printer.ml @@ -705,16 +705,14 @@ and printModuleBinding ~state ~isRec moduleBinding cmtTbl i = in let modExprDoc, modConstraintDoc = match moduleBinding.pmb_expr with - | {pmod_desc = Pmod_constraint (modExpr, modType)} -> + | {pmod_desc = Pmod_constraint (modExpr, modType)} + when not + (ParsetreeViewer.hasAwaitAttribute + moduleBinding.pmb_expr.pmod_attributes) -> ( printModExpr ~state modExpr cmtTbl, Doc.concat [Doc.text ": "; printModType ~state modType cmtTbl] ) | modExpr -> (printModExpr ~state modExpr cmtTbl, Doc.nil) in - let modExprDoc = - if ParsetreeViewer.hasAwaitAttribute moduleBinding.pmb_expr.pmod_attributes - then Doc.concat [Doc.text "await "; modExprDoc] - else modExprDoc - in let modName = let doc = Doc.text moduleBinding.pmb_name.Location.txt in printComments doc cmtTbl moduleBinding.pmb_name.loc @@ -4967,11 +4965,13 @@ and printExpressionBlock ~state ~braces expr cmtTbl = in let name, modExpr = match modExpr.pmod_desc with - | Pmod_constraint (modExpr, modType) -> + | Pmod_constraint (modExpr2, modType) + when not (ParsetreeViewer.hasAwaitAttribute modExpr.pmod_attributes) + -> let name = Doc.concat [name; Doc.text ": "; printModType ~state modType cmtTbl] in - (name, modExpr) + (name, modExpr2) | _ -> (name, modExpr) in let letModuleDoc = @@ -5455,6 +5455,14 @@ and printModExpr ~state modExpr cmtTbl = ] | Pmod_functor _ -> printModFunctor ~state modExpr cmtTbl in + let doc = + if ParsetreeViewer.hasAwaitAttribute modExpr.pmod_attributes then + match modExpr.pmod_desc with + | Pmod_constraint _ -> + Doc.concat [Doc.text "await "; Doc.lparen; doc; Doc.rparen] + | _ -> Doc.concat [Doc.text "await "; doc] + else doc + in printComments doc cmtTbl modExpr.pmod_loc and printModFunctor ~state modExpr cmtTbl =