diff --git a/main/external/fsharpbinding/MonoDevelop.FSharp.Shared/FSharpSymbolHelper.fs b/main/external/fsharpbinding/MonoDevelop.FSharp.Shared/FSharpSymbolHelper.fs index 63e7e1a947f..cd0f97afc4b 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharp.Shared/FSharpSymbolHelper.fs +++ b/main/external/fsharpbinding/MonoDevelop.FSharp.Shared/FSharpSymbolHelper.fs @@ -413,7 +413,7 @@ module SymbolTooltips = let functionName = let name = if func.IsConstructor then - match func.EnclosingEntity with + match func.DeclaringEntity with | Some ent -> ent.DisplayName | _ -> //LoggingService.LogWarning(sprintf "getFuncSignatureWithFormat: No enclosing entity found for: %s" func.DisplayName) @@ -433,7 +433,7 @@ module SymbolTooltips = let modifier = //F# types are prefixed with new, should non F# types be too for consistancy? if func.IsConstructor then - match func.EnclosingEntity with + match func.DeclaringEntity with | Some ent -> if ent.IsFSharp then "new" ++ accessibility else accessibility | _ -> @@ -488,7 +488,7 @@ module SymbolTooltips = | _ -> indent + name.PadRight padding + ":" let isDelegate = - match func.EnclosingEntity with + match func.DeclaringEntity with | Some ent -> ent.IsDelegate | _ -> //LoggingService.logWarning "getFuncSignatureWithFormat: No enclosing entity found for: %s" func.DisplayName @@ -616,7 +616,7 @@ module SymbolTooltips = let getAPCaseSignature displayContext (apc:FSharpActivePatternCase) = let findVal = - apc.Group.EnclosingEntity + apc.Group.DeclaringEntity |> Option.bind (fun ent -> ent.MembersFunctionsAndValues |> Seq.tryFind (fun func -> func.DisplayName.Contains apc.DisplayName) |> Option.map (getFuncSignature displayContext)) @@ -652,7 +652,7 @@ module SymbolTooltips = | ActivePatternCase ap -> let parent = - ap.Group.EnclosingEntity + ap.Group.DeclaringEntity |> Option.map (fun enclosing -> enclosing.UnAnnotate().DisplayName) |> Option.fill "None" sprintf "From type:\t%s%sAssembly:\t%s" parent Environment.NewLine ap.Assembly.SimpleName @@ -673,7 +673,7 @@ module SymbolTooltips = None | Constructor func -> - match func.EnclosingEntity with + match func.DeclaringEntity with | Some ent when ent.IsValueType || ent.IsEnum -> //ValueTypes let signature = getFuncSignature symbol.DisplayContext func diff --git a/main/external/fsharpbinding/MonoDevelop.FSharp.Shared/MonoDevelop.FSharp.Shared.fsproj b/main/external/fsharpbinding/MonoDevelop.FSharp.Shared/MonoDevelop.FSharp.Shared.fsproj index deb2d5910e0..2c88e51f09f 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharp.Shared/MonoDevelop.FSharp.Shared.fsproj +++ b/main/external/fsharpbinding/MonoDevelop.FSharp.Shared/MonoDevelop.FSharp.Shared.fsproj @@ -1,4 +1,6 @@ + + Debug @@ -74,6 +76,15 @@ + + True + + + True + + + True + ..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll True @@ -93,6 +104,28 @@ + + + + + ..\packages\Microsoft.DiaSymReader\lib\net20\Microsoft.DiaSymReader.dll + True + True + + + + + + + + + ..\packages\Microsoft.DiaSymReader.PortablePdb\lib\net45\Microsoft.DiaSymReader.PortablePdb.dll + True + True + + + + @@ -115,11 +148,20 @@ + + + + + True + + + + - ..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll + ..\packages\System.ValueTuple\lib\net461\System.ValueTuple.dll True True diff --git a/main/external/fsharpbinding/MonoDevelop.FSharp.Tests/MonoDevelop.FSharp.Tests.fsproj b/main/external/fsharpbinding/MonoDevelop.FSharp.Tests/MonoDevelop.FSharp.Tests.fsproj index 6dd457cc906..8151c272483 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharp.Tests/MonoDevelop.FSharp.Tests.fsproj +++ b/main/external/fsharpbinding/MonoDevelop.FSharp.Tests/MonoDevelop.FSharp.Tests.fsproj @@ -1,5 +1,6 @@ + Debug @@ -233,6 +234,15 @@ + + True + + + True + + + True + ..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll True @@ -252,6 +262,28 @@ + + + + + ..\packages\Microsoft.DiaSymReader\lib\net20\Microsoft.DiaSymReader.dll + True + True + + + + + + + + + ..\packages\Microsoft.DiaSymReader.PortablePdb\lib\net45\Microsoft.DiaSymReader.PortablePdb.dll + True + True + + + + @@ -311,6 +343,15 @@ + + + + + True + + + + diff --git a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpSyntaxMode.fs b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpSyntaxMode.fs index a8ad8ff8d5f..688ad63a5c9 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpSyntaxMode.fs +++ b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpSyntaxMode.fs @@ -153,7 +153,7 @@ module Patterns = | IdentifierSymbol symbolUse -> match symbolUse with | SymbolUse.Val v -> - let isMut = v.IsMutable && (match v.EnclosingEntity with Some de -> not de.IsEnum | None -> v.IsMutable) + let isMut = v.IsMutable && (match v.DeclaringEntity with Some de -> not de.IsEnum | None -> v.IsMutable) Some isMut | _ -> None | _ -> None diff --git a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpTextEditorCompletion.fs b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpTextEditorCompletion.fs index 76e815c7f62..c70c17dda8b 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpTextEditorCompletion.fs +++ b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpTextEditorCompletion.fs @@ -269,20 +269,20 @@ module Completion = try match symbolUse with | SymbolUse.Constructor c -> - c.EnclosingEntity + c.DeclaringEntity |> Option.map (fun ent -> let un = ent.UnAnnotate() un.DisplayName, un) | SymbolUse.Event ev -> - ev.EnclosingEntity + ev.DeclaringEntity |> Option.map (fun ent -> let un = ent.UnAnnotate() un.DisplayName, un) | SymbolUse.Property pr -> - pr.EnclosingEntity + pr.DeclaringEntity |> Option.map (fun ent -> let un = ent.UnAnnotate() un.DisplayName, un) | SymbolUse.ActivePatternCase ap -> if ap.Group.Names.Count > 1 then - ap.Group.EnclosingEntity + ap.Group.DeclaringEntity |> Option.map (fun enclosing -> let un = enclosing.UnAnnotate() un.DisplayName, un) else None @@ -293,22 +293,22 @@ module Completion = else None | SymbolUse.Function f -> if f.IsExtensionMember then - let real = f.LogicalEnclosingEntity.UnAnnotate() + let real = f.ApparentEnclosingEntity.UnAnnotate() Some(real.DisplayName, real) else - f.EnclosingEntity + f.DeclaringEntity |> Option.map (fun real -> let un = real.UnAnnotate() un.DisplayName, un) | SymbolUse.Operator o -> - o.EnclosingEntity + o.DeclaringEntity |> Option.map (fun ent -> let un = ent.UnAnnotate() un.DisplayName, un) | SymbolUse.Pattern p -> - p.EnclosingEntity + p.DeclaringEntity |> Option.map (fun ent -> let un = ent.UnAnnotate() un.DisplayName, ent) | SymbolUse.Val v -> - v.EnclosingEntity + v.DeclaringEntity |> Option.map (fun ent -> let un = ent.UnAnnotate() un.DisplayName, un) | SymbolUse.TypeAbbreviation ta -> diff --git a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpUnitTestTextEditorExtension.fs b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpUnitTestTextEditorExtension.fs index 2334b2b4453..71097e2d33e 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpUnitTestTextEditorExtension.fs +++ b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/FSharpUnitTestTextEditorExtension.fs @@ -60,7 +60,7 @@ module unitTestGatherer = match symbolUse.Symbol with | :? FSharpMemberOrFunctionOrValue as func -> let typeName = - match func.EnclosingEntity with + match func.DeclaringEntity with | Some ent -> ent.QualifiedName | None _ -> MonoDevelop.Core.LoggingService.LogWarning(sprintf "F# GatherUnitTests: found a unit test method with no qualified name: %s" func.FullName) diff --git a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.fsproj b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.fsproj index bd94aa21a56..0003baa0ced 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.fsproj +++ b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/MonoDevelop.FSharp.fsproj @@ -1,4 +1,6 @@ + + Debug @@ -281,7 +283,29 @@ ..\packages\FSharp.Core\lib\net45\FSharp.Core.dll - True + false + True + + + + + + + + + ..\packages\Microsoft.DiaSymReader\lib\net20\Microsoft.DiaSymReader.dll + false + True + + + + + + + + + ..\packages\Microsoft.DiaSymReader.PortablePdb\lib\net45\Microsoft.DiaSymReader.PortablePdb.dll + false True @@ -379,11 +403,20 @@ + + + + + True + + + + - ..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll + ..\packages\System.ValueTuple\lib\net461\System.ValueTuple.dll false True @@ -391,4 +424,4 @@ - \ No newline at end of file + diff --git a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/ProjectSearchCategory.fs b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/ProjectSearchCategory.fs index 7d4726c0173..d210024e1d6 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/ProjectSearchCategory.fs +++ b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/ProjectSearchCategory.fs @@ -78,7 +78,7 @@ module Search = let correctDisplayName (symbol:FSharpSymbolUse) = match symbol with | SymbolUse.Constructor c -> - match c.EnclosingEntity with + match c.DeclaringEntity with | Some ent -> ent.DisplayName | _ -> LoggingService.LogError(sprintf "Constructor with no EnclosingEntity: %s" c.DisplayName) c.DisplayName diff --git a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/RefactoringOperationsHandler.fs b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/RefactoringOperationsHandler.fs index 366e8464ff8..23137ba966b 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/RefactoringOperationsHandler.fs +++ b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/RefactoringOperationsHandler.fs @@ -101,7 +101,7 @@ module Refactoring = match symbolUse.Symbol with | :? FSharpMemberOrFunctionOrValue as mfv when mfv.IsDispatchSlot -> maybe { - let! ent = mfv.EnclosingEntity + let! ent = mfv.DeclaringEntity let! bt = ent.BaseType if bt.HasTypeDefinition then let baseDefs = bt.TypeDefinition.MembersFunctionsAndValues @@ -391,7 +391,7 @@ module Refactoring = match symbolUse.Symbol with | :? FSharpMemberOrFunctionOrValue as mfv when mfv.IsDispatchSlot -> maybe { - let! ent = mfv.EnclosingEntity + let! ent = mfv.DeclaringEntity let! bt = ent.BaseType return bt.HasTypeDefinition } |> Option.getOrElse (fun () -> false) @@ -500,7 +500,7 @@ type CurrentRefactoringOperationsHandler() = | :? FSharpEntity -> GettextCatalog.GetString ("Go to _Base Type") | :? FSharpMemberOrFunctionOrValue as mfv -> - match mfv.EnclosingEntity with + match mfv.DeclaringEntity with | Some ent when ent.IsInterface -> if mfv.IsProperty then GettextCatalog.GetString ("Go to _Interface Property") elif mfv.IsEvent then GettextCatalog.GetString ("Go to _Interface Event") @@ -544,7 +544,7 @@ type CurrentRefactoringOperationsHandler() = | :? FSharpEntity as fse when fse.IsInterface -> GettextCatalog.GetString ("Find Implementing Types") | :? FSharpEntity -> GettextCatalog.GetString ("Find Derived Types") | :? FSharpMemberOrFunctionOrValue as mfv -> - match mfv.EnclosingEntity with + match mfv.DeclaringEntity with | Some ent when ent.IsInterface -> GettextCatalog.GetString ("Find Implementing Symbols") | _ -> GettextCatalog.GetString ("Find overriden Symbols") diff --git a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/Services/FileService.fs b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/Services/FileService.fs index a5658691bf7..f998bd16fa5 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/Services/FileService.fs +++ b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/Services/FileService.fs @@ -59,6 +59,7 @@ type FileSystem (defaultFileSystem : IFileSystem, openDocuments: unit -> Documen member x.FileDelete fileName = defaultFileSystem.FileDelete fileName member x.AssemblyLoadFrom fileName = defaultFileSystem.AssemblyLoadFrom fileName member x.AssemblyLoad(assemblyName) = defaultFileSystem.AssemblyLoad assemblyName + member x.IsStableFileHeuristic fileName = true module FileService = let supportedFileExtensions = diff --git a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/Services/LanguageService.fs b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/Services/LanguageService.fs index 82f029d686b..7e13575af3e 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/Services/LanguageService.fs +++ b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/Services/LanguageService.fs @@ -552,9 +552,9 @@ type LanguageService(dirtyNotify, _extraProjectInfo) as x = let isOverrideOrDefault = mfv.IsOverrideOrExplicitInterfaceImplementation let baseTypeMatch() = maybe { - let! ent = mfv.EnclosingEntity + let! ent = mfv.DeclaringEntity let! bt = ent.BaseType - let! carentEncEnt = caretmfv.EnclosingEntity + let! carentEncEnt = caretmfv.DeclaringEntity return carentEncEnt.IsEffectivelySameAs bt.TypeDefinition } let nameMatch = mfv.DisplayName = caretmfv.DisplayName @@ -623,7 +623,7 @@ type LanguageService(dirtyNotify, _extraProjectInfo) as x = let isAnExtensionMethod (mfv:FSharpMemberOrFunctionOrValue) (parentEntity:FSharpSymbol) = let isExt = mfv.IsExtensionMember - let extslogicalEntity = mfv.LogicalEnclosingEntity + let extslogicalEntity = mfv.ApparentEnclosingEntity let sameLogicalParent = parentEntity.IsEffectivelySameAs extslogicalEntity isExt && sameLogicalParent diff --git a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/TypeSignatureHelp.fs b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/TypeSignatureHelp.fs index d2bab021428..34b6b602fd7 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharpBinding/TypeSignatureHelp.fs +++ b/main/external/fsharpbinding/MonoDevelop.FSharpBinding/TypeSignatureHelp.fs @@ -96,7 +96,7 @@ module signatureHelp = let baseType = match mfv.IsOverrideOrExplicitInterfaceImplementation, mfv.IsExplicitInterfaceImplementation with | true, false -> - mfv.EnclosingEntity + mfv.DeclaringEntity |> Option.bind(fun ent -> ent.BaseType) |> Option.bind typeDefinitionSafe | true, true -> @@ -104,7 +104,7 @@ module signatureHelp = |> Seq.tryHead |> Option.map(fun s -> s.DeclaringType) |> Option.bind typeDefinitionSafe - | _ -> mfv.EnclosingEntity + | _ -> mfv.DeclaringEntity baseType |> Option.map(fun ent -> ent.IsFSharp) diff --git a/main/external/fsharpbinding/MonoDevelop.FSharpi.Service/MonoDevelop.FSharpInteractive.Service.fsproj b/main/external/fsharpbinding/MonoDevelop.FSharpi.Service/MonoDevelop.FSharpInteractive.Service.fsproj index acb88aa3ea7..19519893cd3 100644 --- a/main/external/fsharpbinding/MonoDevelop.FSharpi.Service/MonoDevelop.FSharpInteractive.Service.fsproj +++ b/main/external/fsharpbinding/MonoDevelop.FSharpi.Service/MonoDevelop.FSharpInteractive.Service.fsproj @@ -1,4 +1,6 @@ + + Debug @@ -91,6 +93,15 @@ + + True + + + True + + + True + ..\packages\FSharp.Compiler.Service\lib\net45\FSharp.Compiler.Service.dll True @@ -110,6 +121,28 @@ + + + + + ..\packages\Microsoft.DiaSymReader\lib\net20\Microsoft.DiaSymReader.dll + True + True + + + + + + + + + ..\packages\Microsoft.DiaSymReader.PortablePdb\lib\net45\Microsoft.DiaSymReader.PortablePdb.dll + True + True + + + + @@ -143,11 +176,20 @@ + + + + + True + + + + - ..\packages\System.ValueTuple\lib\netstandard1.0\System.ValueTuple.dll + ..\packages\System.ValueTuple\lib\net461\System.ValueTuple.dll True True diff --git a/main/external/fsharpbinding/paket.lock b/main/external/fsharpbinding/paket.lock index e4c1cde062a..bb9347febe9 100644 --- a/main/external/fsharpbinding/paket.lock +++ b/main/external/fsharpbinding/paket.lock @@ -6,20 +6,54 @@ NUGET Fantomas (2.6.1) FSharp.Compiler.Service (>= 11.0.4) FSharp.Compiler.CodeDom (0.9.2) - FSharp.Compiler.Service (17.0.1) + FSharp.Compiler.Service (22.0.1) + FSharp.Core (>= 4.1.18) + Microsoft.DiaSymReader (>= 1.1) + Microsoft.DiaSymReader.PortablePdb (>= 1.2) System.Collections.Immutable (>= 1.3.1) System.Reflection.Metadata (>= 1.4.2) + System.ValueTuple (>= 4.4) FSharp.Core (4.3.3) - System.ValueTuple (>= 4.3) + Microsoft.DiaSymReader (1.2) + Microsoft.Net.Compilers (>= 2.3) + Microsoft.DiaSymReader.PortablePdb (1.4) + Microsoft.DiaSymReader (>= 1.2) + System.Collections (>= 4.3) + System.Collections.Immutable (>= 1.3.1) + System.Diagnostics.Debug (>= 4.3) + System.Globalization (>= 4.3) + System.IO (>= 4.3) + System.Linq (>= 4.3) + System.Reflection (>= 4.3) + System.Reflection.Metadata (>= 1.4.2) + System.Reflection.Primitives (>= 4.3) + System.Runtime (>= 4.3) + System.Runtime.Extensions (>= 4.3) + System.Runtime.InteropServices (>= 4.3) + System.Text.Encoding (>= 4.3) + System.Threading (>= 4.3) + Microsoft.Net.Compilers (2.7) Mono.Cecil (0.10.0-beta6) Newtonsoft.Json (10.0.3) StrongNamer (0.0.6) + System.Collections (4.3) System.Collections.Immutable (1.3.1) + System.Diagnostics.Debug (4.3) + System.Globalization (4.3) + System.IO (4.3) + System.Linq (4.3) System.Reactive.Core (3.1.1) System.Reactive.Interfaces (>= 3.1.1) System.Reactive.Interfaces (3.1.1) System.Reactive.Linq (3.1.1) System.Reactive.Core (>= 3.1.1) + System.Reflection (4.3) System.Reflection.Metadata (1.4.2) System.Collections.Immutable (>= 1.3.1) - System.ValueTuple (4.4.0) + System.Reflection.Primitives (4.3) + System.Runtime (4.3) + System.Runtime.Extensions (4.3) + System.Runtime.InteropServices (4.3) + System.Text.Encoding (4.3) + System.Threading (4.3) + System.ValueTuple (4.4) diff --git a/main/src/core/MonoDevelop.Startup/app.config b/main/src/core/MonoDevelop.Startup/app.config index 11cef824bda..1ab21481353 100644 --- a/main/src/core/MonoDevelop.Startup/app.config +++ b/main/src/core/MonoDevelop.Startup/app.config @@ -15,7 +15,8 @@ - + + diff --git a/version-checks b/version-checks index fe5a688e1b0..767fe7db682 100755 --- a/version-checks +++ b/version-checks @@ -17,8 +17,8 @@ DEP[0]=md-addins DEP_NAME[0]=MDADDINS DEP_PATH[0]=${top_srcdir}/../md-addins DEP_MODULE[0]=git@github.com:xamarin/md-addins.git -DEP_NEEDED_VERSION[0]=5ec518d0b018c866c5ca766f4776d160acd9c7d6 -DEP_BRANCH_AND_REMOTE[0]="master origin/master" +DEP_NEEDED_VERSION[0]=3a3f456628d4aeeddddab90a9739025d516a5d98 +DEP_BRANCH_AND_REMOTE[0]="fsharp-update-compiler origin/fsharp-update-compiler" # heap-shot DEP[1]=heap-shot