Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitd6fade9

Browse files
use EnclosingEntity if available
1 parent26526dd commitd6fade9

File tree

2 files changed

+16
-11
lines changed

2 files changed

+16
-11
lines changed

‎src/fsharp/vs/ServiceAnalysis.fs‎

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,12 @@ module UnusedOpens =
3333
// (note: fv.IsExtensionMember has proper value for symbols returning by GetAllUsesOfAllSymbolsInFile though)
3434
if Symbol.hasAttribute<ExtensionAttribute> fv.Attributesthen
3535
yieldupcast fv
36-
37-
for fvin this.Entity.MembersFunctionsAndValuesdo
38-
yieldupcast fv
3936

4037
for apCasein this.Entity.ActivePatternCasesdo
4138
yieldupcast apCase
39+
40+
for fvin this.Entity.MembersFunctionsAndValuesdo
41+
yieldupcast fv
4242
}|> Seq.cache
4343

4444
typeModuleGroup=
@@ -127,16 +127,17 @@ module UnusedOpens =
127127
|> List.exists(fun modul->
128128
symbolUsesInScope
129129
|> Array.exists(fun symbolUse->
130-
//match symbolUse.Symbol with
131-
//| :? FSharpMemberOrFunctionOrValue as f ->
132-
// match f.EnclosingEntity with
133-
// | Some enclosingEntity -> Some (enclosingEntity.IsEffectivelySameAs modul.Entity)
134-
// | _ -> None
135-
//| _ -> None
136-
//|> Option.defaultWith (fun () ->
130+
match symbolUse.Symbolwith
131+
|:? FSharpMemberOrFunctionOrValueas f->
132+
match f.EnclosingEntitywith
133+
| Some entwhen ent.IsNamespace|| ent.IsFSharpModule->
134+
Some(ent.IsEffectivelySameAs modul.Entity)
135+
|_-> None
136+
|_-> None
137+
|> Option.defaultWith(fun()->
137138
modul.ChildSymbols
138139
|> Seq.exists(fun x-> x.IsEffectivelySameAs symbolUse.Symbol)
139-
)))
140+
))))
140141
|> List.collect(fun mg->
141142
mg.Modules|> List.map(fun x->{ Module= x.Entity; AppliedScope= openStatement.AppliedScope}))
142143

‎vsintegration/src/FSharp.Editor/Diagnostics/UnusedOpensDiagnosticAnalyzer.fs‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,13 @@ type internal UnusedOpensDiagnosticAnalyzer() =
4343
do! Option.guard Settings.CodeFixes.UnusedOpens
4444
let!sourceText= document.GetTextAsync()
4545
let!_,_,checkResults= checker.ParseAndCheckDocument(document, options, sourceText= sourceText, allowStaleResults=true, userOpName= userOpName)
46+
#if DEBUG
4647
letsw= Stopwatch.StartNew()
48+
#endif
4749
let!unusedOpens= UnusedOpens.getUnusedOpens(checkResults,fun lineNumber-> sourceText.Lines.[Line.toZ lineNumber].ToString())|> liftAsync
50+
#if DEBUG
4851
Logging.Logging.logInfof"*** Got%d unused opens in%O" unusedOpens.Length sw.Elapsed
52+
#endif
4953
return unusedOpens
5054
}
5155

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp