@@ -456,14 +456,17 @@ module TcRecdUnionAndEnumDeclarations =
456456 let TcAnonFieldDecl cenv env parent tpenv nm ( SynField ( Attributes attribs , isStatic , idOpt , ty , isMutable , xmldoc , vis , m , _ )) =
457457 let mName = m.MakeSynthetic()
458458 let id = match idOpt with None -> mkSynId mName nm | Some id -> id
459- let xmlDoc = xmldoc.ToXmlDoc( true , Some [])
459+
460+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
461+ let xmlDoc = xmldoc.ToXmlDoc( checkXmlDocs, Some [])
460462 TcFieldDecl cenv env parent false tpenv ( isStatic, attribs, id, idOpt.IsNone, ty, isMutable, xmlDoc, vis, m)
461463
462464 let TcNamedFieldDecl cenv env parent isIncrClass tpenv ( SynField ( Attributes attribs , isStatic , id , ty , isMutable , xmldoc , vis , m , _ )) =
463465 match id with
464466 | None -> error ( Error( FSComp.SR.tcFieldRequiresName(), m))
465467 | Some id ->
466- let xmlDoc = xmldoc.ToXmlDoc( true , Some [])
468+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
469+ let xmlDoc = xmldoc.ToXmlDoc( checkXmlDocs, Some [])
467470 TcFieldDecl cenv env parent isIncrClass tpenv ( isStatic, attribs, id, false , ty, isMutable, xmlDoc, vis, m)
468471
469472 let TcNamedFieldDecls cenv env parent isIncrClass tpenv fields =
@@ -552,7 +555,8 @@ module TcRecdUnionAndEnumDeclarations =
552555 |> Seq.map ( fun f -> f.DisplayNameCore)
553556 |> Seq.toList
554557
555- let xmlDoc = xmldoc.ToXmlDoc( true , Some names)
558+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
559+ let xmlDoc = xmldoc.ToXmlDoc( checkXmlDocs, Some names)
556560 Construct.NewUnionCase id rfields recordTy attrs xmlDoc vis
557561
558562 let TcUnionCaseDecls ( cenv : cenv ) env ( parent : ParentRef ) ( thisTy : TType ) ( thisTyInst : TypeInst ) hasRQAAttribute tpenv unionCases =
@@ -571,7 +575,8 @@ module TcRecdUnionAndEnumDeclarations =
571575 let vis , _ = ComputeAccessAndCompPath env None m None None parent
572576 let vis = CombineReprAccess parent vis
573577 if id.idText = " value__" then errorR( Error( FSComp.SR.tcNotValidEnumCaseName(), id.idRange))
574- let xmlDoc = xmldoc.ToXmlDoc( true , Some [])
578+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
579+ let xmlDoc = xmldoc.ToXmlDoc( checkXmlDocs, Some [])
575580 Construct.NewRecdField true ( Some v) id false thisTy false false [] attrs xmlDoc vis false
576581
577582 let TcEnumDecls ( cenv : cenv ) env parent thisTy enumCases =
@@ -2197,7 +2202,9 @@ module TcExceptionDeclarations =
21972202 CheckForDuplicateConcreteType env ( id.idText + " Exception" ) id.idRange
21982203 CheckForDuplicateConcreteType env id.idText id.idRange
21992204 let repr = TExnFresh ( Construct.MakeRecdFieldsTable [])
2200- let xmlDoc = xmlDoc.ToXmlDoc( true , Some [])
2205+
2206+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
2207+ let xmlDoc = xmlDoc.ToXmlDoc( checkXmlDocs, Some [])
22012208 Construct.NewExn cpath id vis repr attrs xmlDoc
22022209
22032210 let TcExnDefnCore_Phase1G_EstablishRepresentation ( cenv : cenv ) ( env : TcEnv ) parent ( exnc : Entity ) ( SynExceptionDefnRepr ( _ , SynUnionCase ( caseType = args), reprIdOpt, _, _, m)) =
@@ -2531,7 +2538,9 @@ module EstablishTypeDefinitionCores =
25312538
25322539 let envForDecls , moduleTyAcc = MakeInnerEnv true envInitial id moduleKind
25332540 let moduleTy = Construct.NewEmptyModuleOrNamespaceType moduleKind
2534- let xmlDoc = xml.ToXmlDoc( true , Some [])
2541+
2542+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
2543+ let xmlDoc = xml.ToXmlDoc( checkXmlDocs, Some [])
25352544 let moduleEntity = Construct.NewModuleOrNamespace ( Some envInitial.eCompPath) vis id xmlDoc modAttrs ( MaybeLazy.Strict moduleTy)
25362545 let innerParent = Parent ( mkLocalModuleRef moduleEntity)
25372546 let innerTypeNames = TypeNamesInMutRecDecls cenv envForDecls decls
@@ -2599,7 +2608,9 @@ module EstablishTypeDefinitionCores =
25992608
26002609 patNames
26012610 | _ -> []
2602- let xmlDoc = xmlDoc.ToXmlDoc( true , Some paramNames )
2611+
2612+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
2613+ let xmlDoc = xmlDoc.ToXmlDoc( checkXmlDocs, Some paramNames )
26032614 Construct.NewTycon
26042615 ( cpath, id.idText, id.idRange, vis, visOfRepr, TyparKind.Type, LazyWithContext.NotLazy checkedTypars,
26052616 xmlDoc, preferPostfix, preEstablishedHasDefaultCtor, hasSelfReferentialCtor, lmodTy)
@@ -4485,7 +4496,9 @@ let rec TcSignatureElementNonMutRec (cenv: cenv) parent typeNames endm (env: TcE
44854496 let id = ident ( modName, id.idRange)
44864497
44874498 let moduleTy = Construct.NewEmptyModuleOrNamespaceType moduleKind
4488- let xmlDoc = xml.ToXmlDoc( true , Some [])
4499+
4500+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
4501+ let xmlDoc = xml.ToXmlDoc( checkXmlDocs, Some [])
44894502 let moduleEntity = Construct.NewModuleOrNamespace ( Some env.eCompPath) vis id xmlDoc attribs ( MaybeLazy.Strict moduleTy)
44904503
44914504 let! moduleTy , _ = TcModuleOrNamespaceSignatureElementsNonMutRec cenv ( Parent ( mkLocalModuleRef moduleEntity)) env ( id, moduleKind, moduleDefs, m, xml)
@@ -4590,8 +4603,9 @@ let rec TcSignatureElementNonMutRec (cenv: cenv) parent typeNames endm (env: TcE
45904603and TcSignatureElements cenv parent endm env xml mutRecNSInfo defs =
45914604 cancellable {
45924605 // Ensure the .Deref call in UpdateAccModuleOrNamespaceType succeeds
4593- if cenv.compilingCanonicalFslibModuleType then
4594- let xmlDoc = xml.ToXmlDoc( true , Some [])
4606+ if cenv.compilingCanonicalFslibModuleType then
4607+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
4608+ let xmlDoc = xml.ToXmlDoc( checkXmlDocs, Some [])
45954609 ensureCcuHasModuleOrNamespaceAtPath cenv.thisCcu env.ePath env.eCompPath xmlDoc
45964610
45974611 let typeNames = EstablishTypeDefinitionCores.TypeNamesInNonMutRecSigDecls defs
@@ -4817,7 +4831,9 @@ let rec TcModuleOrNamespaceElementNonMutRec (cenv: cenv) parent typeNames scopem
48174831 // Create the new module specification to hold the accumulated results of the type of the module
48184832 // Also record this in the environment as the accumulator
48194833 let moduleTy = Construct.NewEmptyModuleOrNamespaceType moduleKind
4820- let xmlDoc = xml.ToXmlDoc( true , Some [])
4834+
4835+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
4836+ let xmlDoc = xml.ToXmlDoc( checkXmlDocs, Some [])
48214837 let moduleEntity = Construct.NewModuleOrNamespace ( Some env.eCompPath) vis id xmlDoc modAttrs ( MaybeLazy.Strict moduleTy)
48224838
48234839 // Now typecheck.
@@ -5062,8 +5078,9 @@ and TcMutRecDefsFinish cenv defs m =
50625078and TcModuleOrNamespaceElements cenv parent endm env xml mutRecNSInfo openDecls0 synModuleDecls =
50635079 cancellable {
50645080 // Ensure the deref_nlpath call in UpdateAccModuleOrNamespaceType succeeds
5065- if cenv.compilingCanonicalFslibModuleType then
5066- let xmlDoc = xml.ToXmlDoc( true , Some [])
5081+ if cenv.compilingCanonicalFslibModuleType then
5082+ let checkXmlDocs = cenv.diagnosticOptions.CheckXmlDocs
5083+ let xmlDoc = xml.ToXmlDoc( checkXmlDocs, Some [])
50675084 ensureCcuHasModuleOrNamespaceAtPath cenv.thisCcu env.ePath env.eCompPath xmlDoc
50685085
50695086 // Collect the type names so we can implicitly add the compilation suffix to module names
@@ -5289,8 +5306,9 @@ let CheckOneImplFile
52895306 isInternalTestSpanStackReferring ,
52905307 env ,
52915308 rootSigOpt : ModuleOrNamespaceType option ,
5292- synImplFile ) =
5293-
5309+ synImplFile ,
5310+ diagnosticOptions ) =
5311+
52945312 let ( ParsedImplFileInput ( fileName , isScript , qualNameOfFile , scopedPragmas , _ , implFileFrags , isLastCompiland , _ )) = synImplFile
52955313 let infoReader = InfoReader( g, amap)
52965314
@@ -5304,6 +5322,7 @@ let CheckOneImplFile
53045322 let cenv =
53055323 cenv.Create ( g, isScript, amap, thisCcu, false , Option.isSome rootSigOpt,
53065324 conditionalDefines, tcSink, ( LightweightTcValForUsingInBuildMethodCall g), isInternalTestSpanStackReferring,
5325+ diagnosticOptions,
53075326 tcPat= TcPat,
53085327 tcSimplePats= TcSimplePats,
53095328 tcSequenceExpressionEntry= TcSequenceExpressionEntry,
@@ -5426,7 +5445,7 @@ let CheckOneImplFile
54265445
54275446
54285447/// Check an entire signature file
5429- let CheckOneSigFile ( g , amap , thisCcu , checkForErrors , conditionalDefines , tcSink , isInternalTestSpanStackReferring ) tcEnv ( sigFile : ParsedSigFileInput ) =
5448+ let CheckOneSigFile ( g , amap , thisCcu , checkForErrors , conditionalDefines , tcSink , isInternalTestSpanStackReferring , diagnosticOptions ) tcEnv ( sigFile : ParsedSigFileInput ) =
54305449 cancellable {
54315450 use _ =
54325451 Activity.start " CheckDeclarations.CheckOneSigFile"
@@ -5438,6 +5457,7 @@ let CheckOneSigFile (g, amap, thisCcu, checkForErrors, conditionalDefines, tcSin
54385457 cenv.Create
54395458 ( g, false , amap, thisCcu, true , false , conditionalDefines, tcSink,
54405459 ( LightweightTcValForUsingInBuildMethodCall g), isInternalTestSpanStackReferring,
5460+ diagnosticOptions,
54415461 tcPat= TcPat,
54425462 tcSimplePats= TcSimplePats,
54435463 tcSequenceExpressionEntry= TcSequenceExpressionEntry,
0 commit comments