/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Compilers/VisualBasic/Portable/Analysis/FlowAnalysis/FlowAnalysisPass.vb
34 строки
2 KB
Jonathon Marolf
update headers
23 янв 2020, 04:01
Не верифицирован
23 янв 2020, 04:01
91571a3
Код
Авторство
О чём код?
' Licensed to the .NET Foundation under one or more agreements. ' The .NET Foundation licenses this file to you under the MIT license. ' See the LICENSE file in the project root for more information. Imports System.Diagnostics Imports Microsoft.CodeAnalysis.Text Imports Microsoft.CodeAnalysis.VisualBasic.Symbols Imports Microsoft.CodeAnalysis.VisualBasic.Syntax Namespace Microsoft.CodeAnalysis.VisualBasic Friend Class FlowAnalysisPass ''' <summary> ''' The flow analysis pass. This pass reports required diagnostics for unreachable ''' statements and uninitialized variables (through the call to FlowAnalysisWalker.Analyze). ''' </summary> ''' <param name = "method">the method to be analyzed</param> ''' <param name = "block">the method's body</param> ''' <param name = "diagnostics">the receiver of the reported diagnostics</param> Public Shared Sub Analyze(method As MethodSymbol, block As BoundBlock, diagnostics As DiagnosticBag) Dim compilation = method.DeclaringCompilation Dim sourceMethod As SourceMethodSymbol = TryCast(method, SourceMethodSymbol) Analyze(compilation, method, block, diagnostics) End Sub Private Shared Sub Analyze(compilation As VisualBasicCompilation, method As MethodSymbol, block As BoundBlock, diagnostics As DiagnosticBag) ControlFlowPass.Analyze(New FlowAnalysisInfo(compilation, method, block), diagnostics, True) DataFlowPass.Analyze(New FlowAnalysisInfo(compilation, method, block), diagnostics, True) End Sub End Class End Namespace