@@ -2383,7 +2383,7 @@ let TcMutRecDefns_Phase2 (cenv: cenv) envInitial bindsm scopem mutRecNSInfo (env
23832383 let ( MutRecDefnsPhase2DataForTycon ( _ , _ , declKind , tcref , _ , _ , declaredTyconTypars , members , _ , _ , _ )) = tyconMembersData
23842384 let overridesOK = DeclKind.CanOverrideOrImplement declKind
23852385 members |> List.collect ( function
2386- | SynMemberDefn.Interface( ity, defnOpt, _ ) ->
2386+ | SynMemberDefn.Interface( interfaceType = ity; members = defnOpt) ->
23872387 let _ , ty = if tcref.Deref.IsExceptionDecl then [], g.exn_ ty else generalizeTyconRef tcref
23882388 let m = ity.Range
23892389 if tcref.IsTypeAbbrev then error( Error( FSComp.SR.tcTypeAbbreviationsCannotHaveInterfaceDeclaration(), m))
@@ -3013,7 +3013,7 @@ module TcExceptionDeclarations =
30133013 let binds3 = AddAugmentationDeclarations.AddGenericEqualityBindings cenv envFinal exnc
30143014 binds1 @ binds2flat @ binds3, exnc, envFinal
30153015
3016- let TcExnSignature cenv envInitial parent tpenv ( SynExceptionSig ( core , aug , _ ), scopem ) =
3016+ let TcExnSignature cenv envInitial parent tpenv ( SynExceptionSig ( exnRepr = core; members = aug), scopem) =
30173017 let binds , exnc = TcExnDefnCore cenv envInitial parent core
30183018 let envMutRec = AddLocalExnDefnAndReport cenv.tcSink scopem ( AddLocalTycons cenv.g cenv.amap scopem [ exnc] envInitial) exnc
30193019 let ecref = mkLocalEntityRef exnc
@@ -3191,7 +3191,7 @@ module EstablishTypeDefinitionCores =
31913191 for SynTypeDefn( typeInfo= SynComponentInfo( typeParams= TyparDecls typars; longId= ids); typeRepr= trepr) in typeSpecs do
31923192 if isNil typars then
31933193 match trepr with
3194- | SynTypeDefnRepr.ObjectModel( SynTypeDefnKind.Augmentation, _, _) -> ()
3194+ | SynTypeDefnRepr.ObjectModel( kind = SynTypeDefnKind.Augmentation _) -> ()
31953195 | _ -> yield ( List.last ids) .idText
31963196 | _ -> () ]
31973197 |> set
@@ -3201,7 +3201,7 @@ module EstablishTypeDefinitionCores =
32013201 [ for def in defs do
32023202 match def with
32033203 | SynModuleSigDecl.Types ( typeSpecs, _) ->
3204- for SynTypeDefnSig( SynComponentInfo( typeParams= TyparDecls typars; longId= ids), _, trepr, extraMembers, _ ) in typeSpecs do
3204+ for SynTypeDefnSig( typeInfo = SynComponentInfo( typeParams= TyparDecls typars; longId= ids); typeRepr = trepr; members = extraMembers) in typeSpecs do
32053205 if isNil typars then
32063206 match trepr with
32073207 | SynTypeDefnSigRepr.Simple( SynTypeDefnSimpleRepr.None _, _) when not ( isNil extraMembers) -> ()
@@ -4081,7 +4081,7 @@ module EstablishTypeDefinitionCores =
40814081 let abstractSlots =
40824082 [ for valSpfn, memberFlags in slotsigs do
40834083
4084- let ( SynValSig ( _ , _ , _ , _ , _valSynData , _ , _ , _ , _ , _ , m )) = valSpfn
4084+ let ( SynValSig ( range = m)) = valSpfn
40854085
40864086 CheckMemberFlags None NewSlotsOK OverridesOK memberFlags m
40874087
@@ -4593,7 +4593,7 @@ module TcDeclarations =
45934593 declKind, tcref, typars
45944594
45954595
4596- let private isAugmentationTyconDefnRepr = function SynTypeDefnSimpleRepr.General( SynTypeDefnKind.Augmentation, _, _, _, _, _, _, _) -> true | _ -> false
4596+ let private isAugmentationTyconDefnRepr = function SynTypeDefnSimpleRepr.General( kind = SynTypeDefnKind.Augmentation _) -> true | _ -> false
45974597 let private isAutoProperty = function SynMemberDefn.AutoProperty _ -> true | _ -> false
45984598 let private isMember = function SynMemberDefn.Member _ -> true | _ -> false
45994599 let private isImplicitCtor = function SynMemberDefn.ImplicitCtor _ -> true | _ -> false
@@ -4669,12 +4669,12 @@ module TcDeclarations =
46694669 /// body = members
46704670 /// where members contain methods/overrides, also implicit ctor, inheritCall and local definitions.
46714671 let rec private SplitTyconDefn ( SynTypeDefn ( typeInfo = synTyconInfo; typeRepr= trepr; members= extraMembers)) =
4672- let implements1 = List.choose ( function SynMemberDefn.Interface ( ty , _, _ ) -> Some( ty, ty.Range) | _ -> None) extraMembers
4672+ let implements1 = List.choose ( function SynMemberDefn.Interface ( interfaceType = ty ) -> Some( ty, ty.Range) | _ -> None) extraMembers
46734673 match trepr with
46744674 | SynTypeDefnRepr.ObjectModel( kind, cspec, m) ->
46754675 CheckMembersForm cspec
46764676 let fields = cspec |> List.choose ( function SynMemberDefn.ValField ( f, _) -> Some f | _ -> None)
4677- let implements2 = cspec |> List.choose ( function SynMemberDefn.Interface ( ty , _, _ ) -> Some( ty, ty.Range) | _ -> None)
4677+ let implements2 = cspec |> List.choose ( function SynMemberDefn.Interface ( interfaceType = ty ) -> Some( ty, ty.Range) | _ -> None)
46784678 let inherits =
46794679 cspec |> List.choose ( function
46804680 | SynMemberDefn.Inherit ( ty, idOpt, m) -> Some( ty, m, idOpt)
@@ -4708,7 +4708,7 @@ module TcDeclarations =
47084708 let attribs = attribs |> List.filter ( fun a -> match a.Target with Some t when t.idText = " field" -> true | _ -> false )
47094709 let mLetPortion = synExpr.Range
47104710 let fldId = ident ( CompilerGeneratedName id.idText, mLetPortion)
4711- let headPat = SynPat.LongIdent ( LongIdentWithDots([ fldId], []), None, Some noInferredTypars, SynArgPats.Pats [], None, mLetPortion)
4711+ let headPat = SynPat.LongIdent ( LongIdentWithDots([ fldId], []), None, None , Some noInferredTypars, SynArgPats.Pats [], None, mLetPortion)
47124712 let retInfo = match tyOpt with None -> None | Some ty -> Some ( SynReturnInfo(( ty, SynInfo.unnamedRetVal), ty.Range))
47134713 let isMutable =
47144714 match propKind with
@@ -4720,7 +4720,7 @@ module TcDeclarations =
47204720
47214721 [( SynMemberDefn.LetBindings ([ binding], isStatic, false , mWholeAutoProp))]
47224722
4723- | SynMemberDefn.Interface (_, Some membs, _ ) -> membs |> List.collect preAutoProps
4723+ | SynMemberDefn.Interface ( members = Some membs) -> membs |> List.collect preAutoProps
47244724 | SynMemberDefn.LetBindings _
47254725 | SynMemberDefn.ImplicitCtor _
47264726 | SynMemberDefn.Open _
@@ -4736,7 +4736,7 @@ module TcDeclarations =
47364736 let attribs = attribs |> List.filter ( fun a -> match a.Target with Some t when t.idText = " field" -> false | _ -> true )
47374737 let fldId = ident ( CompilerGeneratedName id.idText, mMemberPortion)
47384738 let headPatIds = if isStatic then [ id] else [ ident ( " __" , mMemberPortion); id]
4739- let headPat = SynPat.LongIdent ( LongIdentWithDots( headPatIds, []), None, Some noInferredTypars, SynArgPats.Pats [], None, mMemberPortion)
4739+ let headPat = SynPat.LongIdent ( LongIdentWithDots( headPatIds, []), None, None , Some noInferredTypars, SynArgPats.Pats [], None, mMemberPortion)
47404740
47414741 match propKind, mGetSetOpt with
47424742 | SynMemberKind.PropertySet, Some m -> errorR( Error( FSComp.SR.parsMutableOnAutoPropertyShouldBeGetSetNotJustSet(), m))
@@ -4761,16 +4761,16 @@ module TcDeclarations =
47614761 | SynMemberKind.PropertyGetSet ->
47624762 let setter =
47634763 let vId = ident( " v" , mMemberPortion)
4764- let headPat = SynPat.LongIdent ( LongIdentWithDots( headPatIds, []), None, Some noInferredTypars, SynArgPats.Pats [ mkSynPatVar None vId], None, mMemberPortion)
4764+ let headPat = SynPat.LongIdent ( LongIdentWithDots( headPatIds, []), None, None , Some noInferredTypars, SynArgPats.Pats [ mkSynPatVar None vId], None, mMemberPortion)
47654765 let rhsExpr = mkSynAssign ( SynExpr.Ident fldId) ( SynExpr.Ident vId)
47664766 //let retInfo = match tyOpt with None -> None | Some ty -> Some (SynReturnInfo((ty, SynInfo.unnamedRetVal), ty.Range))
47674767 let binding = mkSynBinding ( xmlDoc, headPat) ( access, false , false , mMemberPortion, DebugPointAtBinding.NoneAtInvisible, None, None, rhsExpr, rhsExpr.Range, [], [], Some ( memberFlags SynMemberKind.PropertySet))
47684768 SynMemberDefn.Member ( binding, mMemberPortion)
47694769 yield setter
47704770 | _ -> ()]
4771- | SynMemberDefn.Interface ( ty, Some membs, m) ->
4771+ | SynMemberDefn.Interface ( ty, mWith , Some membs, m) ->
47724772 let membs ' = membs |> List.collect postAutoProps
4773- [ SynMemberDefn.Interface ( ty, Some membs', m)]
4773+ [ SynMemberDefn.Interface ( ty, mWith , Some membs', m)]
47744774 | SynMemberDefn.LetBindings _
47754775 | SynMemberDefn.ImplicitCtor _
47764776 | SynMemberDefn.Open _
@@ -4785,7 +4785,7 @@ module TcDeclarations =
47854785 let isConcrete =
47864786 members |> List.exists ( function
47874787 | SynMemberDefn.Member( SynBinding( valData = SynValData( Some memberFlags, _, _)), _) -> not memberFlags.IsDispatchSlot
4788- | SynMemberDefn.Interface (_, defOpt, _ ) -> Option.isSome defOpt
4788+ | SynMemberDefn.Interface ( members = defOpt) -> Option.isSome defOpt
47894789 | SynMemberDefn.LetBindings _ -> true
47904790 | SynMemberDefn.ImplicitCtor _ -> true
47914791 | SynMemberDefn.ImplicitInherit _ -> true
@@ -5222,10 +5222,10 @@ and TcSignatureElementsMutRec cenv parent typeNames m mutRecNSInfo envInitial (d
52225222 let decls = [ MutRecShape.Open ( MutRecDataForOpen( target, m, moduleRange, ref [])) ]
52235223 decls, ( openOk, moduleAbbrevOk)
52245224
5225- | SynModuleSigDecl.Exception ( SynExceptionSig( exnRepr, members , _), _ ) ->
5225+ | SynModuleSigDecl.Exception ( exnSig = SynExceptionSig( exnRepr= exnRepr ; withKeyword = withKeyword ; members = members ) ) ->
52265226 let ( SynExceptionDefnRepr ( synAttrs , SynUnionCase ( _ , id , _args , _ , _ , _ ), _ , doc , vis , m )) = exnRepr
52275227 let compInfo = SynComponentInfo( synAttrs, None, [], [ id], doc, false , vis, id.idRange)
5228- let decls = [ MutRecShape.Tycon( SynTypeDefnSig.SynTypeDefnSig( compInfo, None, SynTypeDefnSigRepr.Exception exnRepr, members, m)) ]
5228+ let decls = [ MutRecShape.Tycon( SynTypeDefnSig.SynTypeDefnSig( compInfo, None, SynTypeDefnSigRepr.Exception exnRepr, withKeyword , members, m)) ]
52295229 decls, ( false , false )
52305230
52315231 | SynModuleSigDecl.Val ( vspec, _) ->
0 commit comments