diff --git a/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md b/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md index 2473966f72a..148f3734185 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md +++ b/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md @@ -26,7 +26,6 @@ * Add switch to generate types and members with IL visibility that accurately represents their F# visibility. ([PR #15484](https://github.com/dotnet/fsharp/pull/15484) * Allow returning bool instead of unit option for partial active patterns. ([Language suggestion #1041](https://github.com/fsharp/fslang-suggestions/issues/1041), [PR #16473](https://github.com/dotnet/fsharp/pull/16473)) * Symbols: Add GenericArguments to FSharpEntity ([PR #16470](https://github.com/dotnet/fsharp/pull/16470)) -* Allow access modifies to auto properties getters and setters ([PR 16687](https://github.com/dotnet/fsharp/pull/16687), [Language suggestion #430](https://github.com/fsharp/fslang-suggestions/issues/430)) ### Changed diff --git a/docs/release-notes/.Language/preview.md b/docs/release-notes/.Language/preview.md index 0e34b389ef0..eb7ddd08e54 100644 --- a/docs/release-notes/.Language/preview.md +++ b/docs/release-notes/.Language/preview.md @@ -5,7 +5,6 @@ * Bidirectional F#/C# interop for 'unmanaged' constraint. ([PR #12154](https://github.com/dotnet/fsharp/pull/12154)) * Make `.Is*` discriminated union properties visible. ([Language suggestion #222](https://github.com/fsharp/fslang-suggestions/issues/222), [PR #16341](https://github.com/dotnet/fsharp/pull/16341)) * Allow returning bool instead of unit option for partial active patterns. ([Language suggestion #1041](https://github.com/fsharp/fslang-suggestions/issues/1041), [PR #16473](https://github.com/dotnet/fsharp/pull/16473)) -* Allow access modifies to auto properties getters and setters ([PR 16687](https://github.com/dotnet/fsharp/pull/16687), [Language suggestion #430](https://github.com/fsharp/fslang-suggestions/issues/430)) ### Fixed diff --git a/src/Compiler/Checking/CheckDeclarations.fs b/src/Compiler/Checking/CheckDeclarations.fs index f02ccdff9a4..457a3489576 100644 --- a/src/Compiler/Checking/CheckDeclarations.fs +++ b/src/Compiler/Checking/CheckDeclarations.fs @@ -4309,7 +4309,7 @@ module TcDeclarations = | _ -> () /// Split auto-properties into 'let' and 'member' bindings - let private SplitAutoProps (g: TcGlobals) members = + let private SplitAutoProps members = let membersIncludingAutoProps, vals_Inherits_Abstractslots = members |> List.partition (fun memb -> match memb with @@ -4359,7 +4359,7 @@ module TcDeclarations = let rec postAutoProps memb = match memb with | SynMemberDefn.AutoProperty(ident = id) when String.IsNullOrEmpty(id.idText) -> [] - | SynMemberDefn.AutoProperty(attributes=Attributes attribs; isStatic=isStatic; ident=id; typeOpt=tyOpt; propKind=propKind; memberFlags=memberFlags; memberFlagsForSet=memberFlagsForSet; xmlDoc=xmlDoc; trivia = { GetSetKeywords = mGetSetOpt }; accessibility = access; getterAccessibility = getterAccess; setterAccessibility = setterAccess) -> + | SynMemberDefn.AutoProperty(attributes=Attributes attribs; isStatic=isStatic; ident=id; typeOpt=tyOpt; propKind=propKind; memberFlags=memberFlags; memberFlagsForSet=memberFlagsForSet; xmlDoc=xmlDoc; accessibility=access; trivia = { GetSetKeywords = mGetSetOpt }) -> let mMemberPortion = id.idRange // Only the keep the non-field-targeted attributes let attribs = attribs |> List.filter (fun a -> match a.Target with Some t when t.idText = "field" -> false | _ -> true) @@ -4372,41 +4372,7 @@ module TcDeclarations = match propKind, mGetSetOpt with | SynMemberKind.PropertySet, Some getSetKeywords -> errorR(Error(FSComp.SR.parsMutableOnAutoPropertyShouldBeGetSetNotJustSet(), getSetKeywords.Range)) | _ -> () - - let getterAccess, setterAccess = - match propKind with - | SynMemberKind.PropertyGetSet -> - match access with - | Some _ -> - match getterAccess, setterAccess with - | None, None -> access, access - | Some x, _ - | _, Some x -> - errorR(Error(FSComp.SR.parsMultipleAccessibilitiesForGetSet(), x.Range)) - None, None - | None -> - match getterAccess, setterAccess with - | Some x, _ - | _, Some x -> - checkLanguageFeatureAndRecover g.langVersion LanguageFeature.AllowAccessModifiersToAutoPropertiesGettersAndSetters x.Range - getterAccess, setterAccess - | _, _ -> None, None - | SynMemberKind.PropertySet -> - match access, setterAccess with - | Some _, Some x -> - errorR(Error(FSComp.SR.parsMultipleAccessibilitiesForGetSet(), x.Range)) - None, None - | _, None -> None, access - | None, _ -> None, setterAccess - | SynMemberKind.Member - | SynMemberKind.PropertyGet - | _ -> - match access, getterAccess with - | Some _, Some x -> - errorR(Error(FSComp.SR.parsMultipleAccessibilitiesForGetSet(), x.Range)) - None, None - | _, None -> access, None - | None, _ -> getterAccess, None + [ match propKind with | SynMemberKind.Member @@ -4416,7 +4382,7 @@ module TcDeclarations = let rhsExpr = SynExpr.Ident fldId let retInfo = match tyOpt with None -> None | Some ty -> Some (None, SynReturnInfo((ty, SynInfo.unnamedRetVal), ty.Range)) let attribs = mkAttributeList attribs mMemberPortion - let binding = mkSynBinding (xmlDoc, headPat) (getterAccess, false, false, mMemberPortion, DebugPointAtBinding.NoneAtInvisible, retInfo, rhsExpr, rhsExpr.Range, [], attribs, Some memberFlags, SynBindingTrivia.Zero) + let binding = mkSynBinding (xmlDoc, headPat) (access, false, false, mMemberPortion, DebugPointAtBinding.NoneAtInvisible, retInfo, rhsExpr, rhsExpr.Range, [], attribs, Some memberFlags, SynBindingTrivia.Zero) SynMemberDefn.Member (binding, mMemberPortion) yield getter | _ -> () @@ -4428,7 +4394,7 @@ module TcDeclarations = let vId = ident("v", mMemberPortion) let headPat = SynPat.LongIdent (SynLongIdent(headPatIds, [], List.replicate headPatIds.Length None), None, Some noInferredTypars, SynArgPats.Pats [mkSynPatVar None vId], None, mMemberPortion) let rhsExpr = mkSynAssign (SynExpr.Ident fldId) (SynExpr.Ident vId) - let binding = mkSynBinding (xmlDoc, headPat) (setterAccess, false, false, mMemberPortion, DebugPointAtBinding.NoneAtInvisible, None, rhsExpr, rhsExpr.Range, [], [], Some memberFlagsForSet, SynBindingTrivia.Zero) + let binding = mkSynBinding (xmlDoc, headPat) (access, false, false, mMemberPortion, DebugPointAtBinding.NoneAtInvisible, None, rhsExpr, rhsExpr.Range, [], [], Some memberFlagsForSet, SynBindingTrivia.Zero) SynMemberDefn.Member (binding, mMemberPortion) yield setter | _ -> ()] @@ -4452,9 +4418,9 @@ module TcDeclarations = /// where simpleRepr can contain inherit type, declared fields and virtual slots. /// body = members /// where members contain methods/overrides, also implicit ctor, inheritCall and local definitions. - let rec private SplitTyconDefn g (SynTypeDefn(typeInfo=synTyconInfo;typeRepr=trepr; members=extraMembers)) = + let rec private SplitTyconDefn (SynTypeDefn(typeInfo=synTyconInfo;typeRepr=trepr; members=extraMembers)) = let extraMembers = desugarGetSetMembers extraMembers - let extraMembers, extra_vals_Inherits_Abstractslots = SplitAutoProps g extraMembers + let extraMembers, extra_vals_Inherits_Abstractslots = SplitAutoProps extraMembers let implements1 = extraMembers |> List.choose (function SynMemberDefn.Interface (interfaceType=ty) -> Some(ty, ty.Range) | _ -> None) match trepr with @@ -4475,7 +4441,7 @@ module TcDeclarations = let slotsigs = members |> List.choose (function SynMemberDefn.AbstractSlot (slotSig = x; flags = y) -> Some(x, y) | _ -> None) - let members,_vals_Inherits_Abstractslots = SplitAutoProps g members + let members,_vals_Inherits_Abstractslots = SplitAutoProps members let isConcrete = members |> List.exists (function @@ -4537,7 +4503,7 @@ module TcDeclarations = // Split the definitions into "core representations" and "members". The code to process core representations // is shared between processing of signature files and implementation files. - let mutRecDefnsAfterSplit = mutRecDefns |> MutRecShapes.mapTycons (fun i -> SplitTyconDefn g i) + let mutRecDefnsAfterSplit = mutRecDefns |> MutRecShapes.mapTycons SplitTyconDefn // Create the entities for each module and type definition, and process the core representation of each type definition. let tycons, envMutRecPrelim, mutRecDefnsAfterCore = diff --git a/src/Compiler/FSComp.txt b/src/Compiler/FSComp.txt index 61e280428b2..5846712049b 100644 --- a/src/Compiler/FSComp.txt +++ b/src/Compiler/FSComp.txt @@ -1746,6 +1746,4 @@ featureReuseSameFieldsInStructUnions,"Share underlying fields in a [] di 3862,parsStaticMemberImcompleteSyntax,"Incomplete declaration of a static construct. Use 'static let','static do','static member' or 'static val' for declaration." 3863,parsExpectingField,"Expecting record field" 3864,tooManyMethodsInDotNetTypeWritingAssembly,"The type '%s' has too many methods. Found: '%d', maximum: '%d'" -3865,parsOnlySimplePatternsAreAllowedInConstructors,"Only simple patterns are allowed in primary constructors" -featureAllowAccessModifiersToAutoPropertiesGettersAndSetters,"Allow access modifiers to auto properties getters and setters" -3866,parsAccessModifiersBeforeGettersAndSettersNotAllowedInSigFile,"The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file." \ No newline at end of file +3865,parsOnlySimplePatternsAreAllowedInConstructors,"Only simple patterns are allowed in primary constructors" \ No newline at end of file diff --git a/src/Compiler/Facilities/LanguageFeatures.fs b/src/Compiler/Facilities/LanguageFeatures.fs index f18f41d7e56..3103d8b159e 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fs +++ b/src/Compiler/Facilities/LanguageFeatures.fs @@ -85,7 +85,6 @@ type LanguageFeature = | WarningIndexedPropertiesGetSetSameType | WarningWhenTailCallAttrOnNonRec | BooleanReturningAndReturnTypeDirectedPartialActivePattern - | AllowAccessModifiersToAutoPropertiesGettersAndSetters | EnforceAttributeTargetsOnFunctions | EnforceAttributeTargetsUnionCaseDeclarations | LowerInterpolatedStringToConcat @@ -202,7 +201,6 @@ type LanguageVersion(versionText) = LanguageFeature.WarningWhenTailCallAttrOnNonRec, previewVersion LanguageFeature.UnionIsPropertiesVisible, previewVersion LanguageFeature.BooleanReturningAndReturnTypeDirectedPartialActivePattern, previewVersion - LanguageFeature.AllowAccessModifiersToAutoPropertiesGettersAndSetters, previewVersion LanguageFeature.EnforceAttributeTargetsOnFunctions, previewVersion LanguageFeature.EnforceAttributeTargetsUnionCaseDeclarations, previewVersion LanguageFeature.LowerInterpolatedStringToConcat, previewVersion @@ -350,8 +348,6 @@ type LanguageVersion(versionText) = | LanguageFeature.WarningWhenTailCallAttrOnNonRec -> FSComp.SR.featureChkTailCallAttrOnNonRec () | LanguageFeature.BooleanReturningAndReturnTypeDirectedPartialActivePattern -> FSComp.SR.featureBooleanReturningAndReturnTypeDirectedPartialActivePattern () - | LanguageFeature.AllowAccessModifiersToAutoPropertiesGettersAndSetters -> - FSComp.SR.featureAllowAccessModifiersToAutoPropertiesGettersAndSetters () | LanguageFeature.EnforceAttributeTargetsOnFunctions -> FSComp.SR.featureEnforceAttributeTargetsOnFunctions () | LanguageFeature.EnforceAttributeTargetsUnionCaseDeclarations -> FSComp.SR.featureEnforceAttributeTargetsUnionCaseDeclarations () | LanguageFeature.LowerInterpolatedStringToConcat -> FSComp.SR.featureLowerInterpolatedStringToConcat () diff --git a/src/Compiler/Facilities/LanguageFeatures.fsi b/src/Compiler/Facilities/LanguageFeatures.fsi index 84913760e68..4f0fe835ffa 100644 --- a/src/Compiler/Facilities/LanguageFeatures.fsi +++ b/src/Compiler/Facilities/LanguageFeatures.fsi @@ -76,7 +76,6 @@ type LanguageFeature = | WarningIndexedPropertiesGetSetSameType | WarningWhenTailCallAttrOnNonRec | BooleanReturningAndReturnTypeDirectedPartialActivePattern - | AllowAccessModifiersToAutoPropertiesGettersAndSetters | EnforceAttributeTargetsOnFunctions | EnforceAttributeTargetsUnionCaseDeclarations | LowerInterpolatedStringToConcat diff --git a/src/Compiler/Service/ServiceNavigation.fs b/src/Compiler/Service/ServiceNavigation.fs index bb118ae2c76..03afe63b373 100755 --- a/src/Compiler/Service/ServiceNavigation.fs +++ b/src/Compiler/Service/ServiceNavigation.fs @@ -332,19 +332,9 @@ module NavigationImpl = [ createMember (rcid, NavigationItemKind.Field, FSharpGlyph.Field, range, enclosingEntityKind, false, access) ] - | SynMemberDefn.AutoProperty( - ident = id; accessibility = access; getterAccessibility = getterAccessibility; setterAccessibility = setterAccessibility; propKind = propKind) -> - let getterAccessibility = getterAccessibility |> Option.orElse access - let setterAccessibility = setterAccessibility |> Option.orElse access - + | SynMemberDefn.AutoProperty(ident = id; accessibility = access) -> [ - match propKind with - | SynMemberKind.PropertyGetSet -> - yield createMember (id, NavigationItemKind.Field, FSharpGlyph.Field, id.idRange, enclosingEntityKind, false, getterAccessibility) - yield createMember (id, NavigationItemKind.Field, FSharpGlyph.Field, id.idRange, enclosingEntityKind, false, setterAccessibility) - | SynMemberKind.PropertySet -> - yield createMember (id, NavigationItemKind.Field, FSharpGlyph.Field, id.idRange, enclosingEntityKind, false, setterAccessibility) - | _ -> yield createMember (id, NavigationItemKind.Field, FSharpGlyph.Field, id.idRange, enclosingEntityKind, false, getterAccessibility) + createMember (id, NavigationItemKind.Field, FSharpGlyph.Field, id.idRange, enclosingEntityKind, false, access) ] | SynMemberDefn.AbstractSlot(slotSig = SynValSig(ident = SynIdent(id, _); synType = ty; accessibility = access)) -> [ diff --git a/src/Compiler/SyntaxTree/ParseHelpers.fs b/src/Compiler/SyntaxTree/ParseHelpers.fs index b1d44984aaa..d90e395c0c9 100644 --- a/src/Compiler/SyntaxTree/ParseHelpers.fs +++ b/src/Compiler/SyntaxTree/ParseHelpers.fs @@ -1101,7 +1101,7 @@ let mkSynUnionCase attributes (access: SynAccess option) id kind mDecl (xmlDoc, SynUnionCase(attributes, id, kind, xmlDoc, None, mDecl, trivia) let mkAutoPropDefn mVal access ident typ mEquals (expr: SynExpr) accessors xmlDoc attribs flags rangeStart = - let mWith, (getSet, getSetOpt, getterAccess, setterAccess) = accessors + let mWith, (getSet, getSetOpt) = accessors let memberRange = match getSetOpt with @@ -1135,8 +1135,6 @@ let mkAutoPropDefn mVal access ident typ mEquals (expr: SynExpr) accessors xmlDo memberFlagsForSet, xmlDoc, access, - getterAccess, - setterAccess, expr, memberRange, trivia diff --git a/src/Compiler/SyntaxTree/ParseHelpers.fsi b/src/Compiler/SyntaxTree/ParseHelpers.fsi index 52f4257d4c2..a8d61f3cb7e 100644 --- a/src/Compiler/SyntaxTree/ParseHelpers.fsi +++ b/src/Compiler/SyntaxTree/ParseHelpers.fsi @@ -272,7 +272,7 @@ val mkAutoPropDefn: typ: SynType option -> mEquals: range option -> expr: SynExpr -> - accessors: range option * (SynMemberKind * GetSetKeywords option * SynAccess option * SynAccess option) -> + accessors: range option * (SynMemberKind * GetSetKeywords option) -> xmlDoc: PreXmlDoc -> attribs: SynAttributes -> flags: (SynMemberKind -> SynMemberFlags) * SynLeadingKeyword -> diff --git a/src/Compiler/SyntaxTree/SyntaxTree.fs b/src/Compiler/SyntaxTree/SyntaxTree.fs index a4ba8c601f4..8b034740be4 100644 --- a/src/Compiler/SyntaxTree/SyntaxTree.fs +++ b/src/Compiler/SyntaxTree/SyntaxTree.fs @@ -1463,8 +1463,6 @@ type SynMemberDefn = memberFlagsForSet: SynMemberFlags * xmlDoc: PreXmlDoc * accessibility: SynAccess option * - getterAccessibility: SynAccess option * - setterAccessibility: SynAccess option * synExpr: SynExpr * range: range * trivia: SynMemberDefnAutoPropertyTrivia diff --git a/src/Compiler/SyntaxTree/SyntaxTree.fsi b/src/Compiler/SyntaxTree/SyntaxTree.fsi index 2f1d1d5776c..3d9ef06dcad 100644 --- a/src/Compiler/SyntaxTree/SyntaxTree.fsi +++ b/src/Compiler/SyntaxTree/SyntaxTree.fsi @@ -1656,8 +1656,6 @@ type SynMemberDefn = memberFlagsForSet: SynMemberFlags * xmlDoc: PreXmlDoc * accessibility: SynAccess option * - getterAccessibility: SynAccess option * - setterAccessibility: SynAccess option * synExpr: SynExpr * range: range * trivia: SynMemberDefnAutoPropertyTrivia diff --git a/src/Compiler/pars.fsy b/src/Compiler/pars.fsy index b8871f5a270..4080fc7ec8b 100644 --- a/src/Compiler/pars.fsy +++ b/src/Compiler/pars.fsy @@ -949,14 +949,7 @@ classMemberSpfn: | opt_attributes opt_access memberSpecFlags opt_inline opt_access nameop opt_explicitValTyparDecls COLON topTypeWithTypeConstraints classMemberSpfnGetSet optLiteralValueSpfn { if Option.isSome $2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(), rhs parseState 2)) let isInline, doc, vis2, id, explicitValTyparDecls, (ty, arity), (mEquals, optLiteralValue) = (Option.isSome $4), grabXmlDoc(parseState, $1, 1), $5, $6, $7, $9, $11 - let mWith, (getSet, getSetRangeOpt, getterAccess, setterAccess) = $10 - match getterAccess with - | Some(x: SynAccess) -> warning(Error(FSComp.SR.parsAccessModifiersBeforeGettersAndSettersNotAllowedInSigFile(), x.Range)) - | _ -> () - match setterAccess with - | Some(x: SynAccess) -> warning(Error(FSComp.SR.parsAccessModifiersBeforeGettersAndSettersNotAllowedInSigFile(), x.Range)) - | _ -> () - + let mWith, (getSet, getSetRangeOpt) = $10 let getSetAdjuster arity = match arity, getSet with SynValInfo([], _), SynMemberKind.Member -> SynMemberKind.PropertyGet | _ -> getSet let mWhole = let m = rhs parseState 3 @@ -1028,7 +1021,7 @@ classMemberSpfn: /* The optional "with get, set" on a member in a signature */ classMemberSpfnGetSet: | /* EMPTY */ - { None, (SynMemberKind.Member, None, None, None) } + { None, (SynMemberKind.Member, None) } | WITH classMemberSpfnGetSetElements { let mWith = rhs parseState 1 @@ -1046,39 +1039,39 @@ classMemberSpfnGetSet: /* The "get, set" on a property member in a signature */ classMemberSpfnGetSetElements: - | opt_access nameop - { (let (SynIdent(id:Ident, _)) = $2 + | nameop + { (let (SynIdent(id:Ident, _)) = $1 if id.idText = "get" then - SynMemberKind.PropertyGet, Some(GetSetKeywords.Get id.idRange), $1, None + SynMemberKind.PropertyGet, Some(GetSetKeywords.Get id.idRange) else if id.idText = "set" then - SynMemberKind.PropertySet, Some(GetSetKeywords.Set id.idRange), None, $1 + SynMemberKind.PropertySet, Some(GetSetKeywords.Set id.idRange) else raiseParseErrorAt (rhs parseState 1) (FSComp.SR.parsGetOrSetRequired())) } - | opt_access nameop COMMA opt_access nameop - { let (SynIdent(id, _)) = $2 - let (SynIdent(id2, _)) = $5 + | nameop COMMA nameop + { let (SynIdent(id, _)) = $1 + let (SynIdent(id2, _)) = $3 if not ((id.idText = "get" && id2.idText = "set") || (id.idText = "set" && id2.idText = "get")) then raiseParseErrorAt (rhs2 parseState 1 3) (FSComp.SR.parsGetOrSetRequired()) if id.idText = "get" then - SynMemberKind.PropertyGetSet, Some(GetSetKeywords.GetSet(id.idRange, id2.idRange)), $1, $4 + SynMemberKind.PropertyGetSet, Some(GetSetKeywords.GetSet(id.idRange, id2.idRange)) else - SynMemberKind.PropertyGetSet, Some(GetSetKeywords.GetSet(id2.idRange, id.idRange)), $4, $1 } + SynMemberKind.PropertyGetSet, Some(GetSetKeywords.GetSet(id2.idRange, id.idRange)) } - | opt_access nameop COMMA recover - { (let (SynIdent(id:Ident, _)) = $2 + | nameop COMMA recover + { (let (SynIdent(id:Ident, _)) = $1 if id.idText = "get" then - SynMemberKind.PropertyGet, Some(GetSetKeywords.Get id.idRange), $1, None + SynMemberKind.PropertyGet, Some(GetSetKeywords.Get id.idRange) else if id.idText = "set" then - SynMemberKind.PropertySet, Some(GetSetKeywords.Set id.idRange), None, $1 + SynMemberKind.PropertySet, Some(GetSetKeywords.Set id.idRange) else - raiseParseErrorAt (rhs parseState 2) (FSComp.SR.parsGetOrSetRequired())) } + raiseParseErrorAt (rhs parseState 1) (FSComp.SR.parsGetOrSetRequired())) } | OBLOCKBEGIN oblockend ODECLEND { reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsIdentifierExpected()) - SynMemberKind.Member, None, None, None } + SynMemberKind.Member, None } memberSpecFlags: | memberFlags { $1 } @@ -2041,7 +2034,7 @@ classDefnMember: | opt_attributes opt_access abstractMemberFlags opt_inline nameop opt_explicitValTyparDecls COLON topTypeWithTypeConstraints classMemberSpfnGetSet opt_ODECLEND { let ty, arity = $8 let isInline, doc, id, explicitValTyparDecls = (Option.isSome $4), grabXmlDoc(parseState, $1, 1), $5, $6 - let mWith, (getSet, getSetRangeOpt, getterAccess, setterAccess) = $9 + let mWith, (getSet, getSetRangeOpt) = $9 let getSetAdjuster arity = match arity, getSet with SynValInfo([], _), SynMemberKind.Member -> SynMemberKind.PropertyGet | _ -> getSet let mWhole = let m = rhs parseState 1 @@ -2049,8 +2042,7 @@ classDefnMember: | None -> unionRanges m ty.Range | Some gs -> unionRanges m gs.Range |> unionRangeWithXmlDoc doc - if Option.isSome $2 || Option.isSome getterAccess || Option.isSome setterAccess - then errorR(Error(FSComp.SR.parsAccessibilityModsIllegalForAbstract(), mWhole)) + if Option.isSome $2 then errorR(Error(FSComp.SR.parsAccessibilityModsIllegalForAbstract(), mWhole)) let mkFlags, leadingKeyword = $3 let trivia = { LeadingKeyword = leadingKeyword; InlineKeyword = $4; WithKeyword = mWith; EqualsRange = None } let valSpfn = SynValSig($1, id, explicitValTyparDecls, ty, arity, isInline, false, doc, None, None, mWhole, trivia) @@ -2189,7 +2181,7 @@ autoPropsDefnDecl: errorR (Error(FSComp.SR.parsMutableOnAutoPropertyShouldBeGetSet (), rhs parseState 2)) fun attribs flags rangeStart -> let xmlDoc = grabXmlDocAtRangeStart (parseState, attribs, rangeStart) - [ mkAutoPropDefn mVal $3 $4 $5 None expr (None, (SynMemberKind.Member, None, None, None)) xmlDoc attribs flags rangeStart ] } + [ mkAutoPropDefn mVal $3 $4 $5 None expr (None, (SynMemberKind.Member, None)) xmlDoc attribs flags rangeStart ] } | VAL opt_mutable opt_access ident opt_typ OBLOCKSEP { let mVal = rhs parseState 1 @@ -2202,7 +2194,7 @@ autoPropsDefnDecl: errorR (Error(FSComp.SR.parsMutableOnAutoPropertyShouldBeGetSet (), rhs parseState 2)) fun attribs flags rangeStart -> let xmlDoc = grabXmlDocAtRangeStart (parseState, attribs, rangeStart) - [ mkAutoPropDefn mVal $3 $4 $5 None expr (None, (SynMemberKind.Member, None, None, None)) xmlDoc attribs flags rangeStart ] } + [ mkAutoPropDefn mVal $3 $4 $5 None expr (None, (SynMemberKind.Member, None)) xmlDoc attribs flags rangeStart ] } | VAL opt_mutable opt_access recover { let mVal = rhs parseState 1 @@ -2212,7 +2204,7 @@ autoPropsDefnDecl: errorR (Error(FSComp.SR.parsMutableOnAutoPropertyShouldBeGetSet (), rhs parseState 2)) fun attribs flags rangeStart -> let xmlDoc = grabXmlDocAtRangeStart(parseState, attribs, rangeStart) - [ mkAutoPropDefn mVal $3 id None None expr (None, (SynMemberKind.Member, None, None, None)) xmlDoc attribs flags rangeStart ] } + [ mkAutoPropDefn mVal $3 id None None expr (None, (SynMemberKind.Member, None)) xmlDoc attribs flags rangeStart ] } /* An optional type on an auto-property definition */ opt_typ: diff --git a/src/Compiler/xlf/FSComp.txt.cs.xlf b/src/Compiler/xlf/FSComp.txt.cs.xlf index 509c8bd4ad7..66205091123 100644 --- a/src/Compiler/xlf/FSComp.txt.cs.xlf +++ b/src/Compiler/xlf/FSComp.txt.cs.xlf @@ -227,11 +227,6 @@ další převody orientované na typ - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions aplikativní výpočetní výrazy @@ -912,11 +907,6 @@ Funkce správy balíčků vyžaduje jazykovou verzi 5.0 nebo vyšší. - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. Syntaxi průniku omezení lze použít pouze s flexibilními typy, například „#IDisposable a #ISomeInterface“. diff --git a/src/Compiler/xlf/FSComp.txt.de.xlf b/src/Compiler/xlf/FSComp.txt.de.xlf index 2635ea818f1..f72b6948a76 100644 --- a/src/Compiler/xlf/FSComp.txt.de.xlf +++ b/src/Compiler/xlf/FSComp.txt.de.xlf @@ -227,11 +227,6 @@ zusätzliche typgesteuerte Konvertierungen - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions applikative Berechnungsausdrücke @@ -912,11 +907,6 @@ Für das „Paketverwaltungsfeature“ ist Sprachversion 5.0 oder höher erforderlich - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. Die Einschränkungsüberschneidungssyntax kann nur mit flexiblen Typen verwendet werden, z. B. "#IDisposable & #ISomeInterface". diff --git a/src/Compiler/xlf/FSComp.txt.es.xlf b/src/Compiler/xlf/FSComp.txt.es.xlf index 3c81bed6124..12f4457f73e 100644 --- a/src/Compiler/xlf/FSComp.txt.es.xlf +++ b/src/Compiler/xlf/FSComp.txt.es.xlf @@ -227,11 +227,6 @@ conversiones adicionales dirigidas a tipos - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions expresiones de cálculo aplicativas @@ -912,11 +907,6 @@ La característica de "administración de paquetes" requiere la versión de lenguaje 5.0 o superior - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. La sintaxis de intersección de restricciones solo se puede usar con tipos flexibles, por ejemplo, "#IDisposable &#ISomeInterface". diff --git a/src/Compiler/xlf/FSComp.txt.fr.xlf b/src/Compiler/xlf/FSComp.txt.fr.xlf index 5162b04d3d8..9477b8b7680 100644 --- a/src/Compiler/xlf/FSComp.txt.fr.xlf +++ b/src/Compiler/xlf/FSComp.txt.fr.xlf @@ -227,11 +227,6 @@ conversions supplémentaires dirigées vers le type - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions expressions de calcul applicatives @@ -912,11 +907,6 @@ La fonction « gestion des paquets » nécessite une version de langue 5.0 ou supérieure. - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. La syntaxe d'intersection de contraintes ne peut être utilisée qu'avec des types flexibles, par ex. '#IDisposable et #ISomeInterface'. diff --git a/src/Compiler/xlf/FSComp.txt.it.xlf b/src/Compiler/xlf/FSComp.txt.it.xlf index 4050b14cf7f..b17ab37848d 100644 --- a/src/Compiler/xlf/FSComp.txt.it.xlf +++ b/src/Compiler/xlf/FSComp.txt.it.xlf @@ -227,11 +227,6 @@ conversioni aggiuntive dirette ai tipi - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions espressioni di calcolo applicativo @@ -912,11 +907,6 @@ La funzionalità 'gestione pacchetti' richiede la versione del linguaggio 5.0 o superiore - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. La sintassi dell'intersezione dei vincoli può essere usata solo con tipi flessibili, ad esempio '#IDisposable & #ISomeInterface'. diff --git a/src/Compiler/xlf/FSComp.txt.ja.xlf b/src/Compiler/xlf/FSComp.txt.ja.xlf index 2f30491d680..fa6fb18bda6 100644 --- a/src/Compiler/xlf/FSComp.txt.ja.xlf +++ b/src/Compiler/xlf/FSComp.txt.ja.xlf @@ -227,11 +227,6 @@ その他の型指定された変換 - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions 適用できる計算式 @@ -912,11 +907,6 @@ 'package management' (パッケージ管理) 機能には、言語バージョン 5.0 以降が必要です - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. 制約交差構文は、"#IDisposable & #ISomeInterface" など、柔軟な型でのみ使用できます。 diff --git a/src/Compiler/xlf/FSComp.txt.ko.xlf b/src/Compiler/xlf/FSComp.txt.ko.xlf index 9340410bcba..1cf38ecd52e 100644 --- a/src/Compiler/xlf/FSComp.txt.ko.xlf +++ b/src/Compiler/xlf/FSComp.txt.ko.xlf @@ -227,11 +227,6 @@ 추가 형식-디렉션 변환 - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions 적용 가능한 계산 식 @@ -912,11 +907,6 @@ '패키지 관리' 기능을 사용하려면 언어 버전 5.0 이상이 필요합니다. - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. 제약 조건 교차 구문은 유연한 형식(예: '#IDisposable &#ISomeInterface')에서만 사용할 수 있습니다. diff --git a/src/Compiler/xlf/FSComp.txt.pl.xlf b/src/Compiler/xlf/FSComp.txt.pl.xlf index 5452bcebf00..a36f1d7cb51 100644 --- a/src/Compiler/xlf/FSComp.txt.pl.xlf +++ b/src/Compiler/xlf/FSComp.txt.pl.xlf @@ -227,11 +227,6 @@ dodatkowe konwersje ukierunkowane na typ - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions praktyczne wyrażenia obliczeniowe @@ -912,11 +907,6 @@ Funkcja „Zarządzanie pakietami” wymaga języka w wersji 5.0 lub nowszej - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. Składnia przecięcia ograniczenia może być używana tylko z typami elastycznymi, np. „#IDisposable &#ISomeInterface”. diff --git a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf index f90d3d8fa12..129e7cb792e 100644 --- a/src/Compiler/xlf/FSComp.txt.pt-BR.xlf +++ b/src/Compiler/xlf/FSComp.txt.pt-BR.xlf @@ -227,11 +227,6 @@ conversões direcionadas por tipos adicionais - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions expressões de computação aplicáveis @@ -912,11 +907,6 @@ O recurso 'gerenciamento de pacotes' requer a versão 5.0 ou superior do idioma - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. A sintaxe de interseção de restrição só pode ser usada com tipos flexíveis, por exemplo, "#IDisposable & #ISomeInterface". diff --git a/src/Compiler/xlf/FSComp.txt.ru.xlf b/src/Compiler/xlf/FSComp.txt.ru.xlf index f4a2e807c60..d0acf9ef585 100644 --- a/src/Compiler/xlf/FSComp.txt.ru.xlf +++ b/src/Compiler/xlf/FSComp.txt.ru.xlf @@ -227,11 +227,6 @@ дополнительные преобразования на основе типа - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions применимые вычислительные выражения @@ -912,11 +907,6 @@ Для функции управления пакетами требуется версия языка 5.0 или более поздняя - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. Синтаксис пересечения ограничений можно использовать только с гибкими типами, например. "#IDisposable & #ISomeInterface". diff --git a/src/Compiler/xlf/FSComp.txt.tr.xlf b/src/Compiler/xlf/FSComp.txt.tr.xlf index 940de471b10..555f737153e 100644 --- a/src/Compiler/xlf/FSComp.txt.tr.xlf +++ b/src/Compiler/xlf/FSComp.txt.tr.xlf @@ -227,11 +227,6 @@ ek tür ile yönlendirilen dönüştürmeler - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions uygulama hesaplama ifadeleri @@ -912,11 +907,6 @@ ‘Paket yönetimi’ özelliği, dil sürümü 5.0 veya üstünü gerektirir - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. Kısıtlama kesişimi söz dizimi yalnızca esnek türlerle kullanılabilir. Ör. '#IDisposable & #ISomeInterface'. diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf index 30e6d6073c0..72e2ea8f447 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hans.xlf @@ -227,11 +227,6 @@ 附加类型定向转换 - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions 适用的计算表达式 @@ -912,11 +907,6 @@ “包管理”功能需要语言版本 5.0 或更高版本 - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. 约束交集语法只能与灵活类型一起使用,例如 "#IDisposable & #ISomeInterface"。 diff --git a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf index 8d79311a0dc..817e803623b 100644 --- a/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf +++ b/src/Compiler/xlf/FSComp.txt.zh-Hant.xlf @@ -227,11 +227,6 @@ 其他類型導向轉換 - - Allow access modifiers to auto properties getters and setters - Allow access modifiers to auto properties getters and setters - - applicative computation expressions 適用的計算運算式 @@ -912,11 +907,6 @@ 「套件管理」功能需要語言版本 5.0 或更新版本 - - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file. - - Constraint intersection syntax may only be used with flexible types, e.g. '#IDisposable & #ISomeInterface'. 條件約束交集語法只能搭配彈性類型使用,例如「#IDisposable 與 #ISomeInterface'」。 diff --git a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/AutoPropsWithModifierBeforeGetSet.fs b/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/AutoPropsWithModifierBeforeGetSet.fs deleted file mode 100644 index 8e1703df5a2..00000000000 --- a/tests/FSharp.Compiler.ComponentTests/Conformance/BasicGrammarElements/MemberDefinitions/MethodsAndProperties/AutoPropsWithModifierBeforeGetSet.fs +++ /dev/null @@ -1,177 +0,0 @@ -// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information. - -module Conformance.BasicGrammarElements.AutoPropsWithModifierBeforeGetSet - -open Xunit -open FSharp.Test -open FSharp.Test.Compiler - -let verifyCompile compilation = - compilation - |> asExe - |> withOptions ["--nowarn:988"] - |> compile - -let verifyCompileAndRun compilation = - compilation - |> asExe - |> withOptions ["--nowarn:988"] - |> compileAndRun - -[] -let ``Instance Properties Test`` () = - Fs """type InstancePropertiesTest() = - member val B1: int = 0 with get - // should fail - member val B2: int = 0 with set - member val B3: int = 0 with get, set - member val B4: int = 0 with internal get - // should fail - member val B5: int = 0 with internal set - member val B6: int = 0 with internal get, internal set - member val B7: int = 0 with internal get, set - member val B8: int = 0 with get, internal set - // should fail - member val internal B11: int = 0 with internal get, set - // should fail - member val internal B12: int = 0 with internal get - // should fail - member val internal B13: int = 0 with internal set - member val internal B14: int = 0 with get, set - member val internal B15: int = 0 with get - // should fail - member val internal B16: int = 0 with set""" - |> withLangVersionPreview - |> typecheck - |> shouldFail - |> withDiagnostics [ - (Error 3135, Line 4, Col 33, Line 4, Col 36, "To indicate that this property can be set, use 'member val PropertyName = expr with get,set'.") - (Error 3135, Line 8, Col 42, Line 8, Col 45, "To indicate that this property can be set, use 'member val PropertyName = expr with get,set'.") - (Error 0558, Line 13, Col 43, Line 13, Col 51, "When the visibility for a property is specified, setting the visibility of the set or get method is not allowed.") - (Error 0558, Line 15, Col 43, Line 15, Col 51, "When the visibility for a property is specified, setting the visibility of the set or get method is not allowed.") - (Error 3135, Line 17, Col 52, Line 17, Col 55, "To indicate that this property can be set, use 'member val PropertyName = expr with get,set'.") - (Error 0558, Line 17, Col 43, Line 17, Col 51, "When the visibility for a property is specified, setting the visibility of the set or get method is not allowed.") - (Error 3135, Line 21, Col 43, Line 21, Col 46, "To indicate that this property can be set, use 'member val PropertyName = expr with get,set'.") - ] - -[] -let ``Static Properties Test`` () = - Fs """type StaticPropertiesTest() = - static member val B1: int = 0 with get - // should fail - static member val B2: int = 0 with set - static member val B3: int = 0 with get, set - static member val B4: int = 0 with internal get - // should fail - static member val B5: int = 0 with internal set - static member val B6: int = 0 with internal get, internal set - static member val B7: int = 0 with internal get, set - static member val B8: int = 0 with get, internal set - // should fail - static member val internal B11: int = 0 with internal get, set - // should fail - static member val internal B12: int = 0 with internal get - // should fail - static member val internal B13: int = 0 with internal set - static member val internal B14: int = 0 with get, set - static member val internal B15: int = 0 with get - // should fail - static member val internal B16: int = 0 with set""" - |> withLangVersionPreview - |> typecheck - |> shouldFail - |> withDiagnostics [ - (Error 3135, Line 4, Col 40, Line 4, Col 43, "To indicate that this property can be set, use 'member val PropertyName = expr with get,set'.") - (Error 3135, Line 8, Col 49, Line 8, Col 52, "To indicate that this property can be set, use 'member val PropertyName = expr with get,set'.") - (Error 0558, Line 13, Col 50, Line 13, Col 58, "When the visibility for a property is specified, setting the visibility of the set or get method is not allowed.") - (Error 0558, Line 15, Col 50, Line 15, Col 58, "When the visibility for a property is specified, setting the visibility of the set or get method is not allowed.") - (Error 3135, Line 17, Col 59, Line 17, Col 62, "To indicate that this property can be set, use 'member val PropertyName = expr with get,set'.") - (Error 0558, Line 17, Col 50, Line 17, Col 58, "When the visibility for a property is specified, setting the visibility of the set or get method is not allowed.") - (Error 3135, Line 21, Col 50, Line 21, Col 53, "To indicate that this property can be set, use 'member val PropertyName = expr with get,set'.") - ] - -[] -let ``Abstract Properties Test: access modifiers are not allowed`` () = - Fs """type ``Abstract Properties Test`` = - abstract member B1: int with get, set - abstract member B2: int with get - abstract member B3: int with set - // should fail - abstract member B4: int with internal get, set - // should fail - abstract member B5: int with get, internal set - // should fail - abstract member B6: int with internal get, internal set - // should fail - abstract member B7: int with internal get - // should fail - abstract member B8: int with internal set""" - |> withLangVersionPreview - |> typecheck - |> shouldFail - |> withDiagnostics [ - (Error 0561, Line 6, Col 5, Line 6, Col 51, "Accessibility modifiers are not allowed on this member. Abstract slots always have the same visibility as the enclosing type.") - (Error 0561, Line 8, Col 5, Line 8, Col 51, "Accessibility modifiers are not allowed on this member. Abstract slots always have the same visibility as the enclosing type.") - (Error 0561, Line 10, Col 5, Line 10, Col 60, "Accessibility modifiers are not allowed on this member. Abstract slots always have the same visibility as the enclosing type.") - (Error 0561, Line 12, Col 5, Line 12, Col 46, "Accessibility modifiers are not allowed on this member. Abstract slots always have the same visibility as the enclosing type.") - (Error 0561, Line 14, Col 5, Line 14, Col 46, "Accessibility modifiers are not allowed on this member. Abstract slots always have the same visibility as the enclosing type.") - ] - -[] -let ``Signature File Test: no access modifiers before getter and setter`` () = - Fsi """module Program - -type A = - new: unit -> A - member internal B: int - member internal C: int with get, set - // will warning - member D: int with internal get, private set - abstract E: int with get, set - // will warning - abstract F: int with get, private set""" - |> withLangVersionPreview - |> verifyCompile - |> shouldFail - |> withDiagnostics [ - (Warning 3866, Line 8, Col 24, Line 8, Col 32, "The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file.") - (Warning 3866, Line 8, Col 38, Line 8, Col 45, "The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file.") - (Warning 3866, Line 11, Col 31, Line 11, Col 38, "The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file.") - (Error 240, Line 1, Col 1, Line 11, Col 42, "The signature file 'Program' does not have a corresponding implementation file. If an implementation file exists then check the 'module' and 'namespace' declarations in the signature and implementation files match.") - ] - -[] -let ``Signature And Implement File Test`` () = - let encodeFs = - FsSource """module Program - -type A() = - member val B: int = 0 with internal get, internal set - member val C: int = 0 with internal get, internal set - member val D: int = 0 with internal get, private set""" - Fsi """module Program - -type A = - new: unit -> A - member internal B: int - member internal C: int with get, set - // will warning - member D: int with internal get, private set""" - |> withAdditionalSourceFile encodeFs - |> withLangVersionPreview - |> compile - |> shouldFail - |> withDiagnostics [ - (Warning 3866, Line 8, Col 24, Line 8, Col 32, "The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file.") - (Warning 3866, Line 8, Col 38, Line 8, Col 45, "The modifier will be ignored because access modifiers before getters and setters are not allowed in signature file.") - (Error 0034, Line 6, Col 16, Line 6, Col 17, "Module 'Program' contains - member private A.D: int with set -but its signature specifies - member A.D: int with set -The accessibility specified in the signature is more than that specified in the implementation") - (Error 0034, Line 6, Col 16, Line 6, Col 17, "Module 'Program' contains - member internal A.D: int -but its signature specifies - member A.D: int -The accessibility specified in the signature is more than that specified in the implementation") - ] diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index 0bb8fd4a34f..4f04946a466 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -56,7 +56,6 @@ - diff --git a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.release.bsl b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.release.bsl index 51d08041668..3c4b22f76c1 100644 --- a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.release.bsl +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.SurfaceArea.netstandard20.release.bsl @@ -7739,10 +7739,6 @@ FSharp.Compiler.Syntax.SynMemberDefn+AutoProperty: Microsoft.FSharp.Collections. FSharp.Compiler.Syntax.SynMemberDefn+AutoProperty: Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynAttributeList] get_attributes() FSharp.Compiler.Syntax.SynMemberDefn+AutoProperty: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess] accessibility FSharp.Compiler.Syntax.SynMemberDefn+AutoProperty: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess] get_accessibility() -FSharp.Compiler.Syntax.SynMemberDefn+AutoProperty: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess] get_getterAccessibility() -FSharp.Compiler.Syntax.SynMemberDefn+AutoProperty: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess] get_setterAccessibility() -FSharp.Compiler.Syntax.SynMemberDefn+AutoProperty: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess] getterAccessibility -FSharp.Compiler.Syntax.SynMemberDefn+AutoProperty: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess] setterAccessibility FSharp.Compiler.Syntax.SynMemberDefn+AutoProperty: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynType] get_typeOpt() FSharp.Compiler.Syntax.SynMemberDefn+AutoProperty: Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynType] typeOpt FSharp.Compiler.Syntax.SynMemberDefn+GetSetMember: FSharp.Compiler.SyntaxTrivia.SynMemberGetSetTrivia get_trivia() @@ -7852,7 +7848,7 @@ FSharp.Compiler.Syntax.SynMemberDefn: Boolean get_IsNestedType() FSharp.Compiler.Syntax.SynMemberDefn: Boolean get_IsOpen() FSharp.Compiler.Syntax.SynMemberDefn: Boolean get_IsValField() FSharp.Compiler.Syntax.SynMemberDefn: FSharp.Compiler.Syntax.SynMemberDefn NewAbstractSlot(FSharp.Compiler.Syntax.SynValSig, FSharp.Compiler.Syntax.SynMemberFlags, FSharp.Compiler.Text.Range, FSharp.Compiler.SyntaxTrivia.SynMemberDefnAbstractSlotTrivia) -FSharp.Compiler.Syntax.SynMemberDefn: FSharp.Compiler.Syntax.SynMemberDefn NewAutoProperty(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynAttributeList], Boolean, FSharp.Compiler.Syntax.Ident, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynType], FSharp.Compiler.Syntax.SynMemberKind, FSharp.Compiler.Syntax.SynMemberFlags, FSharp.Compiler.Syntax.SynMemberFlags, FSharp.Compiler.Xml.PreXmlDoc, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess], FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Text.Range, FSharp.Compiler.SyntaxTrivia.SynMemberDefnAutoPropertyTrivia) +FSharp.Compiler.Syntax.SynMemberDefn: FSharp.Compiler.Syntax.SynMemberDefn NewAutoProperty(Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynAttributeList], Boolean, FSharp.Compiler.Syntax.Ident, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynType], FSharp.Compiler.Syntax.SynMemberKind, FSharp.Compiler.Syntax.SynMemberFlags, FSharp.Compiler.Syntax.SynMemberFlags, FSharp.Compiler.Xml.PreXmlDoc, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess], FSharp.Compiler.Syntax.SynExpr, FSharp.Compiler.Text.Range, FSharp.Compiler.SyntaxTrivia.SynMemberDefnAutoPropertyTrivia) FSharp.Compiler.Syntax.SynMemberDefn: FSharp.Compiler.Syntax.SynMemberDefn NewGetSetMember(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynBinding], Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynBinding], FSharp.Compiler.Text.Range, FSharp.Compiler.SyntaxTrivia.SynMemberGetSetTrivia) FSharp.Compiler.Syntax.SynMemberDefn: FSharp.Compiler.Syntax.SynMemberDefn NewImplicitCtor(Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.SynAccess], Microsoft.FSharp.Collections.FSharpList`1[FSharp.Compiler.Syntax.SynAttributeList], FSharp.Compiler.Syntax.SynPat, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.Ident], FSharp.Compiler.Xml.PreXmlDoc, FSharp.Compiler.Text.Range, FSharp.Compiler.SyntaxTrivia.SynMemberDefnImplicitCtorTrivia) FSharp.Compiler.Syntax.SynMemberDefn: FSharp.Compiler.Syntax.SynMemberDefn NewImplicitInherit(FSharp.Compiler.Syntax.SynType, FSharp.Compiler.Syntax.SynExpr, Microsoft.FSharp.Core.FSharpOption`1[FSharp.Compiler.Syntax.Ident], FSharp.Compiler.Text.Range) diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl index aae0b57cb0c..0451b561b92 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/DefaultValKeyword.fs.bsl @@ -28,8 +28,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((3,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (3,26--3,27)), - (3,4--3,27), + None, Const (Int32 1, (3,26--3,27)), (3,4--3,27), { LeadingKeyword = DefaultVal ((3,4--3,11), (3,12--3,15)) WithKeyword = None diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl index a5a5c94bbf8..7178d569385 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/MemberValKeyword.fs.bsl @@ -28,8 +28,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((3,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (3,25--3,26)), - (3,4--3,26), + None, Const (Int32 1, (3,25--3,26)), (3,4--3,26), { LeadingKeyword = MemberVal ((3,4--3,10), (3,11--3,14)) WithKeyword = None diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl index de95a8f3bbb..4d3005f29e3 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/OverrideValKeyword.fs.bsl @@ -28,8 +28,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((3,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (3,27--3,28)), - (3,4--3,28), + None, Const (Int32 1, (3,27--3,28)), (3,4--3,28), { LeadingKeyword = OverrideVal ((3,4--3,12), (3,13--3,16)) WithKeyword = None diff --git a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl index 2ac6f5d2c39..809096c0c78 100644 --- a/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/LeadingKeyword/StaticMemberValKeyword.fs.bsl @@ -28,8 +28,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((3,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (3,32--3,33)), - (3,4--3,33), + None, Const (Int32 1, (3,32--3,33)), (3,4--3,33), { LeadingKeyword = StaticMemberVal ((3,4--3,10), (3,11--3,17), (3,18--3,21)) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 01.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 01.fs.bsl index 4576c205a95..5155ca1b3e3 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 01.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 01.fs.bsl @@ -27,8 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (4,20--4,21)), - (4,4--4,21), + None, Const (Int32 1, (4,20--4,21)), (4,4--4,21), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = None diff --git a/tests/service/data/SyntaxTree/Member/Auto property 02.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 02.fs.bsl index b8736fd23e2..af2cbcfa598 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 02.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 02.fs.bsl @@ -27,7 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, + None, ArbitraryAfterError ("typedSequentialExprBlock1", (4,19--4,19)), (4,4--4,19), diff --git a/tests/service/data/SyntaxTree/Member/Auto property 03.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 03.fs.bsl index c489efc4380..4dc2510f320 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 03.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 03.fs.bsl @@ -27,7 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, + None, ArbitraryAfterError ("typedSequentialExprBlock1", (4,19--4,19)), (4,4--4,19), @@ -51,8 +51,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((5,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 2, (5,20--5,21)), - (5,4--5,21), + None, Const (Int32 2, (5,20--5,21)), (5,4--5,21), { LeadingKeyword = MemberVal ((5,4--5,10), (5,11--5,14)) WithKeyword = None diff --git a/tests/service/data/SyntaxTree/Member/Auto property 04.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 04.fs.bsl index f9c511bfc5e..9497c483352 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 04.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 04.fs.bsl @@ -27,8 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, - ArbitraryAfterError ("autoProp2", (4,17--4,17)), + None, ArbitraryAfterError ("autoProp2", (4,17--4,17)), (4,4--4,17), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) @@ -50,8 +49,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((5,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 2, (5,20--5,21)), - (5,4--5,21), + None, Const (Int32 2, (5,20--5,21)), (5,4--5,21), { LeadingKeyword = MemberVal ((5,4--5,10), (5,11--5,14)) WithKeyword = None diff --git a/tests/service/data/SyntaxTree/Member/Auto property 05.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 05.fs.bsl index 541adf1f681..84a9f629f6e 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 05.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 05.fs.bsl @@ -27,8 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, - ArbitraryAfterError ("autoProp3", (4,14--4,14)), + None, ArbitraryAfterError ("autoProp3", (4,14--4,14)), (4,4--4,14), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) @@ -50,8 +49,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((5,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 2, (5,20--5,21)), - (5,4--5,21), + None, Const (Int32 2, (5,20--5,21)), (5,4--5,21), { LeadingKeyword = MemberVal ((5,4--5,10), (5,11--5,14)) WithKeyword = None diff --git a/tests/service/data/SyntaxTree/Member/Auto property 06.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 06.fs.bsl index 0a7d12909ea..50d5378bf80 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 06.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 06.fs.bsl @@ -27,8 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (4,20--4,21)), - (4,4--4,21), + None, Const (Int32 1, (4,20--4,21)), (4,4--4,21), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = None diff --git a/tests/service/data/SyntaxTree/Member/Auto property 07.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 07.fs.bsl index 84e7a69d193..492124d31f0 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 07.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 07.fs.bsl @@ -32,8 +32,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 7, (4,24--4,25)), - (4,4--4,38), + None, Const (Int32 7, (4,24--4,25)), (4,4--4,38), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = Some (4,26--4,30) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl index 982030b64d2..82805ec6df7 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 08.fs.bsl @@ -27,8 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (4,19--4,20)), - (4,4--4,29), + None, Const (Int32 1, (4,19--4,20)), (4,4--4,29), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = Some (4,21--4,25) @@ -46,4 +45,4 @@ ImplFile (6,0)-(6,1) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:22). Try indenting this further. To continue using non-conforming indentation, pass the '--strict-indentation-' flag to the compiler, or set the language version to F# 7. -(6,0)-(6,1) parse error Incomplete structured construct at or before this point. Expected identifier, '(', '(*)' or other token. +(6,0)-(6,1) parse error Incomplete structured construct at or before this point in member definition. Expected identifier, '(', '(*)' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl index f4d9b9aa777..00760cf2537 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 09.fs.bsl @@ -27,8 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (4,20--4,21)), - (4,4--4,30), + None, Const (Int32 1, (4,20--4,21)), (4,4--4,30), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = Some (4,22--4,26) @@ -69,4 +68,4 @@ ImplFile (5,4)-(5,10) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:23). Try indenting this further. To continue using non-conforming indentation, pass the '--strict-indentation-' flag to the compiler, or set the language version to F# 7. -(5,4)-(5,10) parse error Incomplete structured construct at or before this point. Expected identifier, '(', '(*)' or other token. +(5,4)-(5,10) parse error Incomplete structured construct at or before this point in member definition. Expected identifier, '(', '(*)' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl index aeaf553b54c..1a61306fb2d 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 10.fs.bsl @@ -27,8 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (4,19--4,20)), - (4,4--4,29), + None, Const (Int32 1, (4,19--4,20)), (4,4--4,29), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = Some (4,21--4,25) @@ -45,4 +44,4 @@ ImplFile (5,0)-(5,0) parse error Unexpected syntax or possible incorrect indentation: this token is offside of context started at position (4:22). Try indenting this further. To continue using non-conforming indentation, pass the '--strict-indentation-' flag to the compiler, or set the language version to F# 7. -(5,0)-(5,0) parse error Incomplete structured construct at or before this point. Expected identifier, '(', '(*)' or other token. +(5,0)-(5,0) parse error Incomplete structured construct at or before this point in member definition. Expected identifier, '(', '(*)' or other token. diff --git a/tests/service/data/SyntaxTree/Member/Auto property 11.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 11.fs.bsl index b0235cf362a..14121127b62 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 11.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 11.fs.bsl @@ -27,8 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (4,19--4,20)), - (4,4--4,29), + None, Const (Int32 1, (4,19--4,20)), (4,4--4,29), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = Some (4,21--4,25) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 12.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 12.fs.bsl index 79d41c4f5a0..d466718e4af 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 12.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 12.fs.bsl @@ -27,8 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (4,19--4,20)), - (4,4--4,20), + None, Const (Int32 1, (4,19--4,20)), (4,4--4,20), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = Some (4,21--4,25) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 13.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 13.fs.bsl index a4515894463..d0c7a6c9dbc 100644 --- a/tests/service/data/SyntaxTree/Member/Auto property 13.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/Auto property 13.fs.bsl @@ -27,8 +27,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (4,19--4,20)), - (4,4--4,20), + None, Const (Int32 1, (4,19--4,20)), (4,4--4,20), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = Some (4,21--4,25) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 14.fs b/tests/service/data/SyntaxTree/Member/Auto property 14.fs deleted file mode 100644 index c69c16bcfbf..00000000000 --- a/tests/service/data/SyntaxTree/Member/Auto property 14.fs +++ /dev/null @@ -1,4 +0,0 @@ -module A - -type X() = - member val Y: int = 7 with public get, private set diff --git a/tests/service/data/SyntaxTree/Member/Auto property 14.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 14.fs.bsl deleted file mode 100644 index 2235a327002..00000000000 --- a/tests/service/data/SyntaxTree/Member/Auto property 14.fs.bsl +++ /dev/null @@ -1,56 +0,0 @@ -ImplFile - (ParsedImplFileInput - ("/root/Member/Auto property 14.fs", false, QualifiedNameOfFile A, [], [], - [SynModuleOrNamespace - ([A], false, NamedModule, - [Types - ([SynTypeDefn - (SynComponentInfo - ([], None, [], [X], - PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), - false, None, (3,5--3,6)), - ObjectModel - (Unspecified, - [ImplicitCtor - (None, [], Const (Unit, (3,6--3,8)), None, - PreXmlDoc ((3,6), FSharp.Compiler.Xml.XmlDocCollector), - (3,5--3,6), { AsKeyword = None }); - AutoProperty - ([], false, Y, - Some (LongIdent (SynLongIdent ([int], [], [None]))), - PropertyGetSet, - { IsInstance = true - IsDispatchSlot = false - IsOverrideOrExplicitImpl = false - IsFinal = false - GetterOrSetterIsCompilerGenerated = false - MemberKind = Member }, - { IsInstance = true - IsDispatchSlot = false - IsOverrideOrExplicitImpl = false - IsFinal = false - GetterOrSetterIsCompilerGenerated = false - MemberKind = PropertySet }, - PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, Some (Public (4,31--4,37)), - Some (Private (4,43--4,50)), - Const (Int32 7, (4,24--4,25)), (4,4--4,54), - { LeadingKeyword = - MemberVal ((4,4--4,10), (4,11--4,14)) - WithKeyword = Some (4,26--4,30) - EqualsRange = Some (4,22--4,23) - GetSetKeywords = - Some (GetSet ((4,38--4,41), (4,51--4,54))) })], - (4,4--4,54)), [], - Some - (ImplicitCtor - (None, [], Const (Unit, (3,6--3,8)), None, - PreXmlDoc ((3,6), FSharp.Compiler.Xml.XmlDocCollector), - (3,5--3,6), { AsKeyword = None })), (3,5--4,54), - { LeadingKeyword = Type (3,0--3,4) - EqualsRange = Some (3,9--3,10) - WithKeyword = None })], (3,0--4,54))], - PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, - (1,0--4,54), { LeadingKeyword = Module (1,0--1,6) })], (true, true), - { ConditionalDirectives = [] - CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/Auto property 15.fs b/tests/service/data/SyntaxTree/Member/Auto property 15.fs deleted file mode 100644 index aedf83865d3..00000000000 --- a/tests/service/data/SyntaxTree/Member/Auto property 15.fs +++ /dev/null @@ -1,4 +0,0 @@ -module A - -type X() = - member val internal Y: int = 7 with public get, private set diff --git a/tests/service/data/SyntaxTree/Member/Auto property 15.fs.bsl b/tests/service/data/SyntaxTree/Member/Auto property 15.fs.bsl deleted file mode 100644 index 457b112dc31..00000000000 --- a/tests/service/data/SyntaxTree/Member/Auto property 15.fs.bsl +++ /dev/null @@ -1,56 +0,0 @@ -ImplFile - (ParsedImplFileInput - ("/root/Member/Auto property 15.fs", false, QualifiedNameOfFile A, [], [], - [SynModuleOrNamespace - ([A], false, NamedModule, - [Types - ([SynTypeDefn - (SynComponentInfo - ([], None, [], [X], - PreXmlDoc ((3,0), FSharp.Compiler.Xml.XmlDocCollector), - false, None, (3,5--3,6)), - ObjectModel - (Unspecified, - [ImplicitCtor - (None, [], Const (Unit, (3,6--3,8)), None, - PreXmlDoc ((3,6), FSharp.Compiler.Xml.XmlDocCollector), - (3,5--3,6), { AsKeyword = None }); - AutoProperty - ([], false, Y, - Some (LongIdent (SynLongIdent ([int], [], [None]))), - PropertyGetSet, - { IsInstance = true - IsDispatchSlot = false - IsOverrideOrExplicitImpl = false - IsFinal = false - GetterOrSetterIsCompilerGenerated = false - MemberKind = Member }, - { IsInstance = true - IsDispatchSlot = false - IsOverrideOrExplicitImpl = false - IsFinal = false - GetterOrSetterIsCompilerGenerated = false - MemberKind = PropertySet }, - PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - Some (Internal (4,15--4,23)), - Some (Public (4,40--4,46)), Some (Private (4,52--4,59)), - Const (Int32 7, (4,33--4,34)), (4,4--4,63), - { LeadingKeyword = - MemberVal ((4,4--4,10), (4,11--4,14)) - WithKeyword = Some (4,35--4,39) - EqualsRange = Some (4,31--4,32) - GetSetKeywords = - Some (GetSet ((4,47--4,50), (4,60--4,63))) })], - (4,4--4,63)), [], - Some - (ImplicitCtor - (None, [], Const (Unit, (3,6--3,8)), None, - PreXmlDoc ((3,6), FSharp.Compiler.Xml.XmlDocCollector), - (3,5--3,6), { AsKeyword = None })), (3,5--4,63), - { LeadingKeyword = Type (3,0--3,4) - EqualsRange = Some (3,9--3,10) - WithKeyword = None })], (3,0--4,63))], - PreXmlDoc ((1,0), FSharp.Compiler.Xml.XmlDocCollector), [], None, - (1,0--4,63), { LeadingKeyword = Module (1,0--1,6) })], (true, true), - { ConditionalDirectives = [] - CodeComments = [] }, set [])) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl index 9ebebcbddf1..7cfa4c283eb 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheEqualsSign.fs.bsl @@ -51,7 +51,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((5,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Ident name, (4,4--5,40), + None, Ident name, (4,4--5,40), { LeadingKeyword = MemberVal ((5,4--5,10), (5,11--5,14)) WithKeyword = Some (5,27--5,31) diff --git a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl index c5a3db03d4d..0bef3c32697 100644 --- a/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/Member/SynTypeDefnWithAutoPropertyContainsTheRangeOfTheWithKeyword.fs.bsl @@ -34,7 +34,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((3,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Ident autoProp, (3,4--3,52), + None, Ident autoProp, (3,4--3,52), { LeadingKeyword = MemberVal ((3,4--3,10), (3,11--3,14)) WithKeyword = Some (3,39--3,43) @@ -56,7 +56,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Ident autoProp, (4,4--4,39), + None, Ident autoProp, (4,4--4,39), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = None diff --git a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl index 67858fd3916..f3b34e63689 100644 --- a/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl +++ b/tests/service/data/SyntaxTree/MemberFlag/SynMemberDefnAutoPropertyHasCorrectKeyword.fs.bsl @@ -28,8 +28,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((3,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (3,32--3,33)), - (3,4--3,33), + None, Const (Int32 1, (3,32--3,33)), (3,4--3,33), { LeadingKeyword = StaticMemberVal ((3,4--3,10), (3,11--3,17), (3,18--3,21)) @@ -52,8 +51,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((4,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (4,25--4,26)), - (4,4--4,26), + None, Const (Int32 1, (4,25--4,26)), (4,4--4,26), { LeadingKeyword = MemberVal ((4,4--4,10), (4,11--4,14)) WithKeyword = None @@ -75,8 +73,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((5,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 2, (5,27--5,28)), - (5,4--5,28), + None, Const (Int32 2, (5,27--5,28)), (5,4--5,28), { LeadingKeyword = OverrideVal ((5,4--5,12), (5,13--5,16)) WithKeyword = None @@ -98,8 +95,7 @@ ImplFile GetterOrSetterIsCompilerGenerated = false MemberKind = PropertySet }, PreXmlDoc ((6,4), FSharp.Compiler.Xml.XmlDocCollector), - None, None, None, Const (Int32 1, (6,26--6,27)), - (6,4--6,27), + None, Const (Int32 1, (6,26--6,27)), (6,4--6,27), { LeadingKeyword = DefaultVal ((6,4--6,11), (6,12--6,15)) WithKeyword = None