/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Compilers/VisualBasic/Portable/Analysis/MissingRuntimeMemberDiagnosticHelper.vb
42 строки
3 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 Microsoft.CodeAnalysis.VisualBasic Namespace Microsoft.CodeAnalysis Friend Module MissingRuntimeMemberDiagnosticHelper Friend Const MyVBNamespace As String = "My" ' Details on these types and the feature name which is displayed in the diagnostic ' for those items missing in VB Core compilation. Private ReadOnly s_metadataNames As New Dictionary(Of String, String) From { {"Microsoft.VisualBasic.CompilerServices.Operators", "Late binding"}, {"Microsoft.VisualBasic.CompilerServices.NewLateBinding", "Late binding"}, {"Microsoft.VisualBasic.CompilerServices.LikeOperator", "Like operator"}, {"Microsoft.VisualBasic.CompilerServices.ProjectData", "Unstructured exception handling"}, {"Microsoft.VisualBasic.CompilerServices.ProjectData.CreateProjectError", "Unstructured exception handling"} } Friend Function GetDiagnosticForMissingRuntimeHelper(typename As String, membername As String, embedVBCoreRuntime As Boolean) As DiagnosticInfo Dim diag As DiagnosticInfo ' Depending upon whether the vbruntime embed compilation option is used and this is a function we have intentionally ' omitted from VB will determine which diagnostic is reported. ' Examples ' (Late binding, old style error handling, like operator, Err Object) - with VB Embed - report new diagnostic ' (Late binding, old style error handling, like operator) - without VB Embed just no reference to microsoft.visualbasic.dll - report old diagnostic Dim verifiedTypename As String = "" s_metadataNames.TryGetValue(typename, verifiedTypename) If embedVBCoreRuntime AndAlso (Not String.IsNullOrEmpty(verifiedTypename)) Then 'Check to see the compilation options included VB. diag = ErrorFactory.ErrorInfo(ERRID.ERR_PlatformDoesntSupport, verifiedTypename) Else diag = ErrorFactory.ErrorInfo(ERRID.ERR_MissingRuntimeHelper, typename & "." & membername) End If Return diag End Function End Module End Namespace