diff --git a/ReSharper.FSharp/src/FSharp.Psi.Daemon/src/Stages/FcsErrorsStageProcessBase.fs b/ReSharper.FSharp/src/FSharp.Psi.Daemon/src/Stages/FcsErrorsStageProcessBase.fs index a73cea2a62..e26e2e744e 100644 --- a/ReSharper.FSharp/src/FSharp.Psi.Daemon/src/Stages/FcsErrorsStageProcessBase.fs +++ b/ReSharper.FSharp/src/FSharp.Psi.Daemon/src/Stages/FcsErrorsStageProcessBase.fs @@ -319,6 +319,8 @@ type FcsErrorsStageProcessBase(fsFile, daemonProcess) = | ValueNotContainedMutability -> if error.Message.EndsWith("The mutability attributes differ") then createHighlightingFromNodeWithMessage ValueNotContainedMutabilityAttributesDifferError range error + elif error.Message.EndsWith("The literal constant values and/or attributes differ") then + createHighlightingFromNodeWithMessage LiteralConstantValuesDifferInSignatureError range error else createGenericHighlighting error range diff --git a/ReSharper.FSharp/src/FSharp.Psi.Intentions/FSharp.Psi.Intentions.fsproj b/ReSharper.FSharp/src/FSharp.Psi.Intentions/FSharp.Psi.Intentions.fsproj index 5c9e7bc265..9c74e3090b 100644 --- a/ReSharper.FSharp/src/FSharp.Psi.Intentions/FSharp.Psi.Intentions.fsproj +++ b/ReSharper.FSharp/src/FSharp.Psi.Intentions/FSharp.Psi.Intentions.fsproj @@ -101,6 +101,7 @@ + QUICKFIX JetBrains.ReSharper.Plugins.FSharp.Psi.Features.Daemon.QuickFixes diff --git a/ReSharper.FSharp/src/FSharp.Psi.Intentions/src/QuickFixes/UpdateLiteralConstantInSignatureFix.fs b/ReSharper.FSharp/src/FSharp.Psi.Intentions/src/QuickFixes/UpdateLiteralConstantInSignatureFix.fs new file mode 100644 index 0000000000..afb3b7b814 --- /dev/null +++ b/ReSharper.FSharp/src/FSharp.Psi.Intentions/src/QuickFixes/UpdateLiteralConstantInSignatureFix.fs @@ -0,0 +1,142 @@ +namespace JetBrains.ReSharper.Plugins.FSharp.Psi.Features.Daemon.QuickFixes + +open FSharp.Compiler.Symbols +open JetBrains.ReSharper.Plugins.FSharp.Psi +open JetBrains.ReSharper.Plugins.FSharp.Psi.Impl +open JetBrains.ReSharper.Plugins.FSharp.Psi.Tree +open JetBrains.ReSharper.Plugins.FSharp.Psi.Features.Daemon.Highlightings +open JetBrains.ReSharper.Plugins.FSharp.Psi.Features.Util +open JetBrains.ReSharper.Psi.ExtensionsAPI +open JetBrains.ReSharper.Psi.Tree +open JetBrains.ReSharper.Resources.Shell + +type UpdateLiteralConstantInSignatureFix(error: LiteralConstantValuesDifferInSignatureError) = + inherit FSharpQuickFixBase() + let errorRefPat = error.Pat.As() + let implNeedsLiteralAttr = + errorRefPat.Attributes + |> Seq.exists (fun attr -> + let referenceName = attr.ReferenceName + isNotNull referenceName && referenceName.ShortName = "Literal") + |> not + + let tryFindDeclarationFromSignature () = + let containingTypeDecl = errorRefPat.GetContainingTypeDeclaration() + let decls = containingTypeDecl.DeclaredElement.GetDeclarations() + decls |> Seq.tryFind (fun d -> d.GetSourceFile().IsFSharpSignatureFile) + + let tryFindSigBindingSignature sigMembers = + let p = errorRefPat.Binding.HeadPattern.As() + if Seq.length p.Declarations = 1 then + let implDec = Seq.head p.Declarations + let declName = implDec.DeclaredName + sigMembers + |> Seq.tryPick(fun m -> + let bindingSignature = m.As() + match bindingSignature with + | null -> None + | _ -> + match bindingSignature.HeadPattern with + | :? IReferencePat as sigRefPat when + declName = sigRefPat.DeclaredName -> Some bindingSignature + | _ -> None + ) + else + None + + let mutable sigRefPat = null + + let mutable isUoM = false + + let rec isImplExprValidInSig (implExpression: IFSharpExpression) = + + let opName = $"{nameof UpdateLiteralConstantInSignatureFix}.IsAvailable" + + let rec collectUofMRefs (uOfM: IUnitOfMeasure) = + seq { + match uOfM with + | :? INamedMeasure as named -> + yield named.TypeUsage.As().ReferenceName.Reference + | :? IProductMeasure as product -> + yield! collectUofMRefs product.Measure1 + yield! collectUofMRefs product.Measure2 + | :? ISeqMeasure as seqM -> + for m in seqM.Measures do + yield! collectUofMRefs m + | :? IDivideMeasure as divide -> + yield! collectUofMRefs divide.Measure1 + yield! collectUofMRefs divide.Measure2 + | :? IPowerMeasure as power -> + yield! collectUofMRefs power.Measure + | :? IParenMeasure as paren -> + yield! collectUofMRefs paren.Measure + | _ -> () + } + + let isValidUofMInSig (uOfM: IUnitOfMeasureClause) = + if isNull uOfM.Measure then false else + + let refs = collectUofMRefs uOfM.Measure + refs |> Seq.forall ( + fun r -> r.ResolveWithFcs( + sigRefPat, opName, false, true) + |> Option.isSome) + + + match implExpression.IgnoreInnerParens() with + | :? IReferenceExpr as refExpr -> + refExpr.Reference.ResolveWithFcs( + sigRefPat, opName, true, true) + |> Option.isSome + | :? IBinaryAppExpr as binExpr -> + isImplExprValidInSig binExpr.LeftArgument && isImplExprValidInSig binExpr.RightArgument + | :? ILiteralExpr as litExpr -> + if isNull litExpr.UnitOfMeasure then true else + isUoM <- true + isValidUofMInSig litExpr.UnitOfMeasure + | _ -> false + + override x.Text = + if implNeedsLiteralAttr then $"Add Literal attribute to constant {errorRefPat.Identifier.Name}" + else $"Update literal constant {errorRefPat.Identifier.Name} in signature" + + override x.IsAvailable _ = + if isNull errorRefPat then false else + + match tryFindDeclarationFromSignature () with + | Some sigDecl -> + let sigMembers = sigDecl.As().Members + let sigBindingSignature = tryFindSigBindingSignature sigMembers + match sigBindingSignature with + | None -> false + | Some s -> + match s.HeadPattern with + | :? IReferencePat as sRefPat -> + sigRefPat <- sRefPat + isImplExprValidInSig errorRefPat.Binding.Expression + | _ -> false + | _ -> false + + override x.ExecutePsiTransaction _ = + use writeCookie = WriteLockCookie.Create(sigRefPat.IsPhysical()) + use disableFormatter = new DisableCodeFormatter() + + let sigSymbolUse = sigRefPat.GetFcsSymbolUse() + let implSymbolUse = errorRefPat.GetFcsSymbolUse() + let implMfv = implSymbolUse.Symbol :?> FSharpMemberOrFunctionOrValue + let sigMfv = sigSymbolUse.Symbol :?> FSharpMemberOrFunctionOrValue + // currenty FSharpType.Format is broken for UoM https://github.com/dotnet/fsharp/issues/15843 + if implMfv.FullType.BasicQualifiedName <> sigMfv.FullType.BasicQualifiedName && not isUoM then + let returnTypeString = implMfv.ReturnParameter.Type.Format(sigSymbolUse.DisplayContext) + let factory = sigRefPat.CreateElementFactory() + let typeUsage = factory.CreateTypeUsage(returnTypeString, TypeUsageContext.TopLevel) + sigRefPat.Binding.ReturnTypeInfo.SetReturnType(typeUsage) |> ignore + + sigRefPat.Binding.SetExpression(errorRefPat.Binding.Expression.Copy()) |> ignore + + // the FCS error can also mean that the impl side lacks the literal attribute + if implNeedsLiteralAttr then + FSharpAttributesUtil.addAttributeListToLetBinding true (errorRefPat.Binding.As()) + let attrList = errorRefPat.Binding.AttributeLists[0] + let attribute = errorRefPat.CreateElementFactory().CreateAttribute("Literal") + FSharpAttributesUtil.addAttribute attrList attribute |> ignore diff --git a/ReSharper.FSharp/src/FSharp.Psi.Services/src/Daemon/Highlightings/FcsErrors.xml b/ReSharper.FSharp/src/FSharp.Psi.Services/src/Daemon/Highlightings/FcsErrors.xml index 891563e5b0..576cc84cb4 100644 --- a/ReSharper.FSharp/src/FSharp.Psi.Services/src/Daemon/Highlightings/FcsErrors.xml +++ b/ReSharper.FSharp/src/FSharp.Psi.Services/src/Daemon/Highlightings/FcsErrors.xml @@ -218,6 +218,17 @@ UpdateMutabilityInSignatureFix + + + + pat.GetNavigationRange() + + fcsMessage + + + UpdateLiteralConstantInSignatureFix + + diff --git a/ReSharper.FSharp/src/FSharp.Psi/src/Resolve/FSharpSymbolReference.cs b/ReSharper.FSharp/src/FSharp.Psi/src/Resolve/FSharpSymbolReference.cs index 3c0b8edd5e..36825a2b8c 100644 --- a/ReSharper.FSharp/src/FSharp.Psi/src/Resolve/FSharpSymbolReference.cs +++ b/ReSharper.FSharp/src/FSharp.Psi/src/Resolve/FSharpSymbolReference.cs @@ -128,6 +128,15 @@ public void SetQualifier([NotNull] IClrDeclaredElement declaredElement) /// Does not reuse existing file resolve results, does complete lookup by name. public FSharpOption ResolveWithFcs([NotNull] string opName, bool resolveExpr, bool qualified) + { + var context = GetElement().FSharpIdentifier; + + return ResolveWithFcs(context, opName, resolveExpr, qualified); + } + + /// Does not reuse existing file resolve results, does complete lookup by name. + public FSharpOption ResolveWithFcs([NotNull] IFSharpTreeNode context, [NotNull] string opName, + bool resolveExpr, bool qualified) { var referenceOwner = GetElement(); var checkerService = referenceOwner.CheckerService; @@ -136,7 +145,7 @@ public FSharpOption ResolveWithFcs([NotNull] string opName, boo ? qualifiableReferenceOwner.Names : new[] {GetName()}; - return checkerService.ResolveNameAtLocation(referenceOwner.FSharpIdentifier, names, resolveExpr, opName); + return checkerService.ResolveNameAtLocation(context, names, resolveExpr, opName); } } } diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fs new file mode 100644 index 0000000000..4cc7a08125 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fs @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fs.gold new file mode 100644 index 0000000000..4cc7a08125 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fs.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fsi new file mode 100644 index 0000000000..925906eea0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fsi @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fsi.gold new file mode 100644 index 0000000000..7d6e565b87 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 01.fsi.gold @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fs new file mode 100644 index 0000000000..b300cee3e2 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fs @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fs.gold new file mode 100644 index 0000000000..b300cee3e2 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fs.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fsi new file mode 100644 index 0000000000..925906eea0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fsi @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fsi.gold new file mode 100644 index 0000000000..7d6e565b87 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 02.fsi.gold @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fs new file mode 100644 index 0000000000..024ca6032d --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fs @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fs.gold new file mode 100644 index 0000000000..024ca6032d --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fs.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fsi new file mode 100644 index 0000000000..925906eea0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fsi @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fsi.gold new file mode 100644 index 0000000000..7d6e565b87 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 03.fsi.gold @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fs new file mode 100644 index 0000000000..0757f35268 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fs @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42< / m> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fs.gold new file mode 100644 index 0000000000..0757f35268 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fs.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42< / m> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fsi new file mode 100644 index 0000000000..5b1912575c --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fsi @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23< / kg> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fsi.gold new file mode 100644 index 0000000000..48923b60b6 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 04.fsi.gold @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23< / kg> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fs new file mode 100644 index 0000000000..0de914adc7 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fs @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fs.gold new file mode 100644 index 0000000000..0de914adc7 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fs.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fsi new file mode 100644 index 0000000000..925906eea0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fsi @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fsi.gold new file mode 100644 index 0000000000..925906eea0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 05.fsi.gold @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fs new file mode 100644 index 0000000000..4b31e39d6a --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fs @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42<(m * kg)> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fs.gold new file mode 100644 index 0000000000..4b31e39d6a --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fs.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42<(m * kg)> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fsi new file mode 100644 index 0000000000..925906eea0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fsi @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fsi.gold new file mode 100644 index 0000000000..7d6e565b87 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 06.fsi.gold @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fs new file mode 100644 index 0000000000..4352e47fe0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fs @@ -0,0 +1,8 @@ +module A + +[] type m +[] type kg +[] type s + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fs.gold new file mode 100644 index 0000000000..4352e47fe0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fs.gold @@ -0,0 +1,8 @@ +module A + +[] type m +[] type kg +[] type s + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fsi new file mode 100644 index 0000000000..5095070eea --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fsi @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fsi.gold new file mode 100644 index 0000000000..5095070eea --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown UoM - 07.fsi.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fs new file mode 100644 index 0000000000..f19f765639 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fs @@ -0,0 +1,8 @@ +module A + +type E = + | A = 1 + | B = 2 + +[] +let c{caret} = E.A diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fs.gold new file mode 100644 index 0000000000..f19f765639 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fs.gold @@ -0,0 +1,8 @@ +module A + +type E = + | A = 1 + | B = 2 + +[] +let c{caret} = E.A diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fsi new file mode 100644 index 0000000000..b2a0da6291 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fsi @@ -0,0 +1,4 @@ +module A + +[] +val c : int = 42 // type of impl not known here diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fsi.gold new file mode 100644 index 0000000000..4fcdb74c19 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update for unknown type - 01.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val c : int = 42 // type of impl not known here diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fs new file mode 100644 index 0000000000..e49126ec01 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fs @@ -0,0 +1,11 @@ +module A + + module B = + + [] + let SymbolFromB = 42 + + open B + + [] + let a{caret} = SymbolFromB diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fs.gold new file mode 100644 index 0000000000..e49126ec01 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fs.gold @@ -0,0 +1,11 @@ +module A + + module B = + + [] + let SymbolFromB = 42 + + open B + + [] + let a{caret} = SymbolFromB diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fsi new file mode 100644 index 0000000000..2f4c148a43 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fsi @@ -0,0 +1,11 @@ +module A + + module B = + + [] + val SymbolFromB : int = 42 + + // B is not open here + + [] + val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fsi.gold new file mode 100644 index 0000000000..b168c47e53 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 01.fsi.gold @@ -0,0 +1,11 @@ +module A + + module B = + + [] + val SymbolFromB : int = 42 + + // B is not open here + + [] + val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fs new file mode 100644 index 0000000000..a92df8b9c0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fs @@ -0,0 +1,11 @@ +module A + + module B = + + [] + let SymbolFromB = 42 + + open B + + [] + let a{caret} = 3 + SymbolFromB diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fs.gold new file mode 100644 index 0000000000..a92df8b9c0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fs.gold @@ -0,0 +1,11 @@ +module A + + module B = + + [] + let SymbolFromB = 42 + + open B + + [] + let a{caret} = 3 + SymbolFromB diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fsi new file mode 100644 index 0000000000..2f4c148a43 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fsi @@ -0,0 +1,11 @@ +module A + + module B = + + [] + val SymbolFromB : int = 42 + + // B is not open here + + [] + val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fsi.gold new file mode 100644 index 0000000000..b168c47e53 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown module symbol - 02.fsi.gold @@ -0,0 +1,11 @@ +module A + + module B = + + [] + val SymbolFromB : int = 42 + + // B is not open here + + [] + val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fs new file mode 100644 index 0000000000..5f9c5b7d27 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fs @@ -0,0 +1,7 @@ +module A + +[] +let MyLiteral = 42 + +[] +let a{caret} = MyLiteral diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fs.gold new file mode 100644 index 0000000000..5f9c5b7d27 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fs.gold @@ -0,0 +1,7 @@ +module A + +[] +let MyLiteral = 42 + +[] +let a{caret} = MyLiteral diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fsi new file mode 100644 index 0000000000..c417a136ef --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fsi @@ -0,0 +1,4 @@ +module A + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fsi.gold new file mode 100644 index 0000000000..c417a136ef --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/No update with unknown other literal - 01.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fs new file mode 100644 index 0000000000..5d18ac1f22 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fs @@ -0,0 +1,4 @@ +module A + +[] +let c{caret} : float = 23.3 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fs.gold new file mode 100644 index 0000000000..5d18ac1f22 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fs.gold @@ -0,0 +1,4 @@ +module A + +[] +let c{caret} : float = 23.3 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fsi new file mode 100644 index 0000000000..856555daac --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fsi @@ -0,0 +1,4 @@ +module A + +[] +val c : float = 7.2 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fsi.gold new file mode 100644 index 0000000000..34931d7d87 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 01.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val c : float = 23.3 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fs new file mode 100644 index 0000000000..21017af2fd --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fs @@ -0,0 +1,4 @@ +module A + +[] +let (((c{caret}))) : float = 23.3 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fs.gold new file mode 100644 index 0000000000..21017af2fd --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fs.gold @@ -0,0 +1,4 @@ +module A + +[] +let (((c{caret}))) : float = 23.3 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fsi new file mode 100644 index 0000000000..856555daac --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fsi @@ -0,0 +1,4 @@ +module A + +[] +val c : float = 7.2 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fsi.gold new file mode 100644 index 0000000000..34931d7d87 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update Literal Constant - 02.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val c : float = 23.3 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fs new file mode 100644 index 0000000000..dec297f641 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fs @@ -0,0 +1,6 @@ +module A + +[] type m + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fs.gold new file mode 100644 index 0000000000..dec297f641 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fs.gold @@ -0,0 +1,6 @@ +module A + +[] type m + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fsi new file mode 100644 index 0000000000..33c882b31d --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fsi @@ -0,0 +1,6 @@ +module A + +[] type m + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fsi.gold new file mode 100644 index 0000000000..80a0bb905c --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 01.fsi.gold @@ -0,0 +1,6 @@ +module A + +[] type m + +[] +val a : int = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fs new file mode 100644 index 0000000000..6f8f32c2d5 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fs @@ -0,0 +1,7 @@ +module A + +[] type m +[] type s + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fs.gold new file mode 100644 index 0000000000..6f8f32c2d5 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fs.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type s + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fsi new file mode 100644 index 0000000000..9440449afb --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fsi @@ -0,0 +1,7 @@ +module A + +[] type m +[] type s + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fsi.gold new file mode 100644 index 0000000000..9a154e7831 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 02.fsi.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type s + +[] +val a : int = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fs new file mode 100644 index 0000000000..024ca6032d --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fs @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fs.gold new file mode 100644 index 0000000000..024ca6032d --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fs.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fsi new file mode 100644 index 0000000000..78414f6941 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fsi @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fsi.gold new file mode 100644 index 0000000000..8132e0171b --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 03.fsi.gold @@ -0,0 +1,7 @@ +module A + +[] type m +[] type kg + +[] +val a : int = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fs new file mode 100644 index 0000000000..61fdd2899b --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fs @@ -0,0 +1,6 @@ +module A + +[] type m + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fs.gold new file mode 100644 index 0000000000..61fdd2899b --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fs.gold @@ -0,0 +1,6 @@ +module A + +[] type m + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fsi new file mode 100644 index 0000000000..79516c68dc --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fsi @@ -0,0 +1,6 @@ +module A + +[] type m + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fsi.gold new file mode 100644 index 0000000000..cba4569a96 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 04.fsi.gold @@ -0,0 +1,6 @@ +module A + +[] type m + +[] +val a : int = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fs new file mode 100644 index 0000000000..904efbc311 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fs @@ -0,0 +1,4 @@ +module A + +[] +let a{caret} = 42<1> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fs.gold new file mode 100644 index 0000000000..904efbc311 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fs.gold @@ -0,0 +1,4 @@ +module A + +[] +let a{caret} = 42<1> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fsi new file mode 100644 index 0000000000..7e604b4510 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fsi @@ -0,0 +1,4 @@ +module A + +[] +val a : int<1> = 23<1> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fsi.gold new file mode 100644 index 0000000000..8945e28963 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 05.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val a : int<1> = 42<1> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fs new file mode 100644 index 0000000000..0f8534da6f --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fs @@ -0,0 +1,4 @@ +module A + +[] +let a{caret} = 42<_> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fs.gold new file mode 100644 index 0000000000..0f8534da6f --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fs.gold @@ -0,0 +1,4 @@ +module A + +[] +let a{caret} = 42<_> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fsi new file mode 100644 index 0000000000..1a0853902e --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fsi @@ -0,0 +1,4 @@ +module A + +[] +val a : int<_> = 23<_> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fsi.gold new file mode 100644 index 0000000000..b8e3c1cf57 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 06.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val a : int<_> = 42<_> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fs new file mode 100644 index 0000000000..ccf6e8f069 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fs @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +let a{caret} = 42<( / kg)> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fs.gold new file mode 100644 index 0000000000..ccf6e8f069 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fs.gold @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +let a{caret} = 42<( / kg)> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fsi new file mode 100644 index 0000000000..a9f7369b2a --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fsi @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int<1/kg> = 23<( / kg)> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fsi.gold new file mode 100644 index 0000000000..7a51358960 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 07.fsi.gold @@ -0,0 +1,6 @@ +module A + +[] type kg + +[] +val a : int<1/kg> = 42<( / kg)> diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fs new file mode 100644 index 0000000000..4352e47fe0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fs @@ -0,0 +1,8 @@ +module A + +[] type m +[] type kg +[] type s + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fs.gold new file mode 100644 index 0000000000..4352e47fe0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fs.gold @@ -0,0 +1,8 @@ +module A + +[] type m +[] type kg +[] type s + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fsi new file mode 100644 index 0000000000..286e0a9110 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fsi @@ -0,0 +1,8 @@ +module A + +[] type m +[] type kg +[] type s + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fsi.gold new file mode 100644 index 0000000000..8d5e5b63c3 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update UoM Constant - 08.fsi.gold @@ -0,0 +1,8 @@ +module A + +[] type m +[] type kg +[] type s + +[] +val a : int = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fs new file mode 100644 index 0000000000..a0fb2d0214 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fs @@ -0,0 +1,4 @@ +module A + +[] +let c{caret} = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fs.gold new file mode 100644 index 0000000000..a0fb2d0214 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fs.gold @@ -0,0 +1,4 @@ +module A + +[] +let c{caret} = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fsi new file mode 100644 index 0000000000..856555daac --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fsi @@ -0,0 +1,4 @@ +module A + +[] +val c : float = 7.2 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fsi.gold new file mode 100644 index 0000000000..017459867e --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update including type - 01.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val c : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fs new file mode 100644 index 0000000000..de025f4375 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fs @@ -0,0 +1,4 @@ +module A + +[] +let c{caret} = 23 + 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fs.gold new file mode 100644 index 0000000000..de025f4375 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fs.gold @@ -0,0 +1,4 @@ +module A + +[] +let c{caret} = 23 + 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fsi new file mode 100644 index 0000000000..837d2d01e9 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fsi @@ -0,0 +1,4 @@ +module A + +[] +val c : float = 7.2 + 3.1 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fsi.gold new file mode 100644 index 0000000000..bdb8bdbee7 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 01.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val c : int = 23 + 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fs new file mode 100644 index 0000000000..2b91ae878d --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fs @@ -0,0 +1,7 @@ +module A + +[] +let a = 123 + +[] +let c{caret} = 23 + 42 + a diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fs.gold new file mode 100644 index 0000000000..2b91ae878d --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fs.gold @@ -0,0 +1,7 @@ +module A + +[] +let a = 123 + +[] +let c{caret} = 23 + 42 + a diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fsi new file mode 100644 index 0000000000..69d0f5dd88 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fsi @@ -0,0 +1,7 @@ +module A + +[] +val a : int = 123 + +[] +val c : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fsi.gold new file mode 100644 index 0000000000..c9b65bc54d --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr - 02.fsi.gold @@ -0,0 +1,7 @@ +module A + +[] +val a : int = 123 + +[] +val c : int = 23 + 42 + a diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fs new file mode 100644 index 0000000000..a0fb2d0214 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fs @@ -0,0 +1,4 @@ +module A + +[] +let c{caret} = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fs.gold new file mode 100644 index 0000000000..a0fb2d0214 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fs.gold @@ -0,0 +1,4 @@ +module A + +[] +let c{caret} = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fsi new file mode 100644 index 0000000000..837d2d01e9 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fsi @@ -0,0 +1,4 @@ +module A + +[] +val c : float = 7.2 + 3.1 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fsi.gold new file mode 100644 index 0000000000..017459867e --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with complex expr in sig - 01.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val c : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fs new file mode 100644 index 0000000000..f19f765639 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fs @@ -0,0 +1,8 @@ +module A + +type E = + | A = 1 + | B = 2 + +[] +let c{caret} = E.A diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fs.gold new file mode 100644 index 0000000000..f19f765639 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fs.gold @@ -0,0 +1,8 @@ +module A + +type E = + | A = 1 + | B = 2 + +[] +let c{caret} = E.A diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fsi new file mode 100644 index 0000000000..8392e6e074 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fsi @@ -0,0 +1,8 @@ +module A + +type E = + | A = 1 + | B = 2 + +[] +val c : E = E.B diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fsi.gold new file mode 100644 index 0000000000..27a3692e4b --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with enum case - 01.fsi.gold @@ -0,0 +1,8 @@ +module A + +type E = + | A = 1 + | B = 2 + +[] +val c : E = E.A diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fs new file mode 100644 index 0000000000..a0fb2d0214 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fs @@ -0,0 +1,4 @@ +module A + +[] +let c{caret} = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fs.gold new file mode 100644 index 0000000000..a0fb2d0214 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fs.gold @@ -0,0 +1,4 @@ +module A + +[] +let c{caret} = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fsi new file mode 100644 index 0000000000..5d62be0f20 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fsi @@ -0,0 +1,4 @@ +module A + +[] +val c (* foo *) : float (* bar *) = 7.2 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fsi.gold new file mode 100644 index 0000000000..9f95e8e2c0 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with inline comments - 01.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val c (* foo *) : int (* bar *) = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fs new file mode 100644 index 0000000000..30fdfdb90a --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fs @@ -0,0 +1,3 @@ +module A + +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fs.gold new file mode 100644 index 0000000000..4868ed27cb --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fs.gold @@ -0,0 +1,4 @@ +module A + +[] +let a{caret} = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fsi new file mode 100644 index 0000000000..6600107b87 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fsi @@ -0,0 +1,4 @@ +module A + +[] +val a : int = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fsi.gold new file mode 100644 index 0000000000..6600107b87 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with missing attribute - 01.fsi.gold @@ -0,0 +1,4 @@ +module A + +[] +val a : int = 42 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fs new file mode 100644 index 0000000000..abb744c026 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fs @@ -0,0 +1,11 @@ +module A + + module B = + + [] + let SymbolFromB = 42 + + open B + + [] + let a{caret} = SymbolFromB diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fs.gold new file mode 100644 index 0000000000..abb744c026 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fs.gold @@ -0,0 +1,11 @@ +module A + + module B = + + [] + let SymbolFromB = 42 + + open B + + [] + let a{caret} = SymbolFromB diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fsi new file mode 100644 index 0000000000..d20286885b --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fsi @@ -0,0 +1,11 @@ +module A + + module B = + + [] + val SymbolFromB : int = 42 + + open B + + [] + val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fsi.gold new file mode 100644 index 0000000000..1e25b64836 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with module symbol - 01.fsi.gold @@ -0,0 +1,11 @@ +module A + + module B = + + [] + val SymbolFromB : int = 42 + + open B + + [] + val a : int = SymbolFromB diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fs b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fs new file mode 100644 index 0000000000..5f9c5b7d27 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fs @@ -0,0 +1,7 @@ +module A + +[] +let MyLiteral = 42 + +[] +let a{caret} = MyLiteral diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fs.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fs.gold new file mode 100644 index 0000000000..5f9c5b7d27 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fs.gold @@ -0,0 +1,7 @@ +module A + +[] +let MyLiteral = 42 + +[] +let a{caret} = MyLiteral diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fsi b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fsi new file mode 100644 index 0000000000..063fba917d --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fsi @@ -0,0 +1,7 @@ +module A + +[] +val MyLiteral : int = 42 + +[] +val a : int = 23 diff --git a/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fsi.gold b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fsi.gold new file mode 100644 index 0000000000..2717740909 --- /dev/null +++ b/ReSharper.FSharp/test/data/features/quickFixes/updateLiteralConstantInSignatureFix/Update with other literal expr - 01.fsi.gold @@ -0,0 +1,7 @@ +module A + +[] +val MyLiteral : int = 42 + +[] +val a : int = MyLiteral diff --git a/ReSharper.FSharp/test/src/FSharp.Intentions.Tests/FSharp.Intentions.Tests.fsproj b/ReSharper.FSharp/test/src/FSharp.Intentions.Tests/FSharp.Intentions.Tests.fsproj index 851df9608e..ec97219bb5 100644 --- a/ReSharper.FSharp/test/src/FSharp.Intentions.Tests/FSharp.Intentions.Tests.fsproj +++ b/ReSharper.FSharp/test/src/FSharp.Intentions.Tests/FSharp.Intentions.Tests.fsproj @@ -118,6 +118,7 @@ + diff --git a/ReSharper.FSharp/test/src/FSharp.Intentions.Tests/src/QuickFixes/UpdateLiteralConstantInSignatureFixTest.fs b/ReSharper.FSharp/test/src/FSharp.Intentions.Tests/src/QuickFixes/UpdateLiteralConstantInSignatureFixTest.fs new file mode 100644 index 0000000000..5904c0852e --- /dev/null +++ b/ReSharper.FSharp/test/src/FSharp.Intentions.Tests/src/QuickFixes/UpdateLiteralConstantInSignatureFixTest.fs @@ -0,0 +1,46 @@ +namespace JetBrains.ReSharper.Plugins.FSharp.Tests.Intentions.QuickFixes + +open JetBrains.ReSharper.Plugins.FSharp.ProjectModel +open JetBrains.ReSharper.Plugins.FSharp.Psi.Features.Daemon.QuickFixes +open JetBrains.ReSharper.Plugins.FSharp.Tests +open NUnit.Framework + +[] +type UpdateLiteralConstantInSignatureFixTest() = + inherit FSharpQuickFixTestBase() + + override x.RelativeTestDataPath = "features/quickFixes/updateLiteralConstantInSignatureFix" + + [] member x.``Update Literal Constant - 01`` () = x.DoNamedTestWithSignature() + [] member x.``Update Literal Constant - 02`` () = x.DoNamedTestWithSignature() + [] member x.``Update UoM Constant - 01`` () = x.DoNamedTestWithSignature() + [] member x.``Update UoM Constant - 02`` () = x.DoNamedTestWithSignature() + [] member x.``Update UoM Constant - 03`` () = x.DoNamedTestWithSignature() + [] member x.``Update UoM Constant - 04`` () = x.DoNamedTestWithSignature() + [] member x.``Update UoM Constant - 05`` () = x.DoNamedTestWithSignature() + [] member x.``Update UoM Constant - 06`` () = x.DoNamedTestWithSignature() + [] member x.``Update UoM Constant - 07`` () = x.DoNamedTestWithSignature() + [] member x.``Update UoM Constant - 08`` () = x.DoNamedTestWithSignature() + [] member x.``Update including type - 01`` () = x.DoNamedTestWithSignature() + [] member x.``Update with inline comments - 01`` () = x.DoNamedTestWithSignature() + [] member x.``Update with complex expr in sig - 01`` () = x.DoNamedTestWithSignature() + [] member x.``Update with enum case - 01`` () = x.DoNamedTestWithSignature() + [] member x.``Update with other literal expr - 01`` () = x.DoNamedTestWithSignature() + [] member x.``Update with module symbol - 01`` () = x.DoNamedTestWithSignature() + [] + [] member x.``Update with complex expr - 01`` () = x.DoNamedTestWithSignature() + [] + [] member x.``Update with complex expr - 02`` () = x.DoNamedTestWithSignature() + [] member x.``Update with missing attribute - 01`` () = x.DoNamedTestWithSignature() + [] member x.``No update for unknown type - 01`` () = x.DoNamedTestWithSignature() + [] member x.``No update with unknown module symbol - 01`` () = x.DoNamedTestWithSignature() + [] + [] member x.``No update with unknown module symbol - 02`` () = x.DoNamedTestWithSignature() + [] member x.``No update with unknown other literal - 01`` () = x.DoNamedTestWithSignature() + [] member x.``No update for unknown UoM - 01`` () = x.DoNamedTestWithSignature() + [] member x.``No update for unknown UoM - 02`` () = x.DoNamedTestWithSignature() + [] member x.``No update for unknown UoM - 03`` () = x.DoNamedTestWithSignature() + [] member x.``No update for unknown UoM - 04`` () = x.DoNamedTestWithSignature() + [] member x.``No update for unknown UoM - 05`` () = x.DoNamedTestWithSignature() + [] member x.``No update for unknown UoM - 06`` () = x.DoNamedTestWithSignature() + [] member x.``No update for unknown UoM - 07`` () = x.DoNamedTestWithSignature()