Some fixes to nullability (#365)

This commit is contained in:
Patrick Stevens
2025-04-20 17:26:45 +01:00
committed by GitHub
parent 682b12fdb2
commit 8d275f0047
14 changed files with 1697 additions and 65 deletions

View File

@@ -356,3 +356,19 @@ module internal AstHelper =
}
)
| _ -> failwithf "Failed to get record elements for type that was: %+A" repr
let raiseIfNull (variable : Ident) : SynExpr =
SynExpr.createMatch
(SynExpr.createIdent' variable)
[
SynMatchClause.create
SynPat.createNull
(SynExpr.applyFunction
(SynExpr.createIdent "raise")
(SynExpr.paren (
SynExpr.applyFunction
(SynExpr.createLongIdent [ "System" ; "ArgumentNullException" ])
(SynExpr.CreateConst ())
)))
SynMatchClause.create (SynPat.named "v") (SynExpr.createIdent "v")
]