提交 dd57d503 编写于 作者: K Kevin Ransom

Use IEnumerable<string> rather than list string

上级 134962b0
......@@ -4,6 +4,7 @@
module internal FSharp.Compiler.DependencyManagerIntegration
open System
open System.Collections.Generic
open System.IO
open System.Reflection
open FSharp.Compiler.DotNetFrameworkDependencies
......@@ -64,8 +65,9 @@ type internal IDependencyManagerProvider =
abstract Name: string
abstract Key: string
abstract ResolveDependencies: scriptDir: string * mainScriptName: string * scriptName: string * scriptExt: string * packageManagerTextLines: string seq * tfm: string -> bool * string list * string list
abstract DependencyAdding: IEvent<string * string>
abstract DependencyAdded: IEvent<string * string * string list * string list * string list>
abstract DependencyAdded: IEvent<string * string * IEnumerable<string> * IEnumerable<string> * IEnumerable<string>>
abstract DependencyFailed: IEvent<string * string>
[<RequireQualifiedAccess>]
......@@ -79,9 +81,9 @@ type ReflectionDependencyManagerProvider(theType: Type, nameProperty: PropertyIn
let nameProperty = nameProperty.GetValue >> string
let keyProperty = keyProperty.GetValue >> string
let dependencyAddingEvent = Event<_>()
let dependencyAddedEvent = Event<_>()
let dependencyFailedEvent = Event<_>()
let dependencyAddingEvent = Event<string * string>()
let dependencyAddedEvent = Event<string * string * IEnumerable<string> * IEnumerable<string> * IEnumerable<string>>()
let dependencyFailedEvent = Event<string * string>()
static member InstanceMaker (theType: System.Type, outputDir: string option) =
match ReflectionHelper.getAttributeNamed theType dependencyManagerAttributeName,
......@@ -144,7 +146,7 @@ type ReflectionDependencyManagerProvider(theType: Type, nameProperty: PropertyIn
for prLine in packageManagerTextLines do
if succeeded then
dependencyAddedEvent.Trigger(key, prLine, references, generatedScripts, additionalIncludeFolders)
dependencyAddedEvent.Trigger(key, prLine, references |> List.toSeq, generatedScripts |> List.toSeq, additionalIncludeFolders |> List.toSeq)
else
dependencyFailedEvent.Trigger(key, prLine)
......
......@@ -3,6 +3,7 @@
/// Helper members to integrate DependencyManagers into F# codebase
module internal FSharp.Compiler.DependencyManagerIntegration
open System.Collections.Generic
open FSharp.Compiler.Range
type IDependencyManagerProvider =
......@@ -10,7 +11,7 @@ type IDependencyManagerProvider =
abstract Key: string
abstract ResolveDependencies: scriptDir: string * mainScriptName: string * scriptName: string * scriptExt: string * packageManagerTextLines: string seq * tfm: string -> bool * string list * string list
abstract DependencyAdding: IEvent<string * string>
abstract DependencyAdded: IEvent<string * string * string list * string list * string list>
abstract DependencyAdded: IEvent<string * string * IEnumerable<string> * IEnumerable<string> * IEnumerable<string>>
abstract DependencyFailed: IEvent<string * string>
[<RequireQualifiedAccess>]
......
......@@ -959,7 +959,7 @@ type internal FsiDynamicCompiler
let valueBoundEvent = Control.Event<_>()
let dependencyAddingEvent = Control.Event<string * string>()
let dependencyAddedEvent = Control.Event<string * string * string list * string list * string list>()
let dependencyAddedEvent = Control.Event<string * string * IEnumerable<string> * IEnumerable<string> * IEnumerable<string>>()
let dependencyFailedEvent = Control.Event<string * string>()
let mutable fragmentId = 0
......
......@@ -3,6 +3,7 @@
module public FSharp.Compiler.Interactive.Shell
open System.Collections.Generic
open System.IO
open System.Threading
open FSharp.Compiler
......@@ -240,7 +241,7 @@ type FsiEvaluationSession =
[<CLIEvent>]
/// Event fires at the successful completion of adding a dependency via the dependency manager.
member DependencyAdded: IEvent<string * string * string list * string list * string list>
member DependencyAdded: IEvent<string * string * IEnumerable<string> * IEnumerable<string> * IEnumerable<string>>
[<CLIEvent>]
/// Event fires at the failure to adding a dependency via the dependency manager.
......
......@@ -3,6 +3,7 @@
namespace FSharp.DependencyManager.UnitTests
open System
open System.Collections.Generic
open System.IO
open FSharp.Compiler.Interactive.Shell
open FSharp.Compiler.Scripting
......@@ -64,10 +65,10 @@ type DependencyManagerInteractiveTests() =
dependencyAddingEventCount <- dependencyAddingEventCount + 1
foundDependencyAdding <- foundDependencyAdding || (key = "nuget" && dependency = referenceText))
script.DependencyAdding
Event.add (fun (dep: string * string * string list * string list * string list) ->
Event.add (fun (dep: string * string * IEnumerable<string> * IEnumerable<string> * IEnumerable<string>) ->
let key, dependency, _references, _generatedScripts, _packageRoots = dep
generatedScriptsCount <- _generatedScripts.Length
packageRootsCount <- _packageRoots.Length
generatedScriptsCount <- _generatedScripts |> Seq.length
packageRootsCount <- _packageRoots |> Seq.length
dependencyAddedEventCount <- dependencyAddedEventCount + 1
foundDependencyAdded <- foundDependencyAdded || (key = "nuget" && dependency = referenceText))
script.DependencyAdded
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册