public static InteractiveDiagnostic ToInteractiveDiagnostic()

in CodeAnalysis/Xamarin.Interactive.CodeAnalysis.Roslyn/ConversionExtensions.cs [83:141]


        public static InteractiveDiagnostic ToInteractiveDiagnostic (
            this Microsoft.CodeAnalysis.Diagnostic diagnostic)
            => new InteractiveDiagnostic (
                diagnostic.Location.FromRoslyn (),
                (InteractiveDiagnosticSeverity)(int)diagnostic.Severity,
                diagnostic.GetMessage (),
                diagnostic.Id);

        public static CompletionItemKind ToCompletionItemKind (ImmutableArray<string> completionTags)
        {
            if (completionTags.Length == 0)
                goto @default;

            if (completionTags.Contains (CompletionTags.Assembly) ||
                completionTags.Contains (CompletionTags.Namespace) ||
                completionTags.Contains (CompletionTags.Project) ||
                completionTags.Contains (CompletionTags.Module))
                return CompletionItemKind.Module;

            if (completionTags.Contains (CompletionTags.Class) ||
                completionTags.Contains (CompletionTags.Structure))
                return CompletionItemKind.Class;

            if (completionTags.Contains (CompletionTags.Constant) ||
                completionTags.Contains (CompletionTags.Field) ||
                completionTags.Contains (CompletionTags.Delegate) ||
                completionTags.Contains (CompletionTags.Event) ||
                completionTags.Contains (CompletionTags.Local))
                return CompletionItemKind.Field;

            if (completionTags.Contains (CompletionTags.Enum) ||
                completionTags.Contains (CompletionTags.EnumMember))
                return CompletionItemKind.Enum;

            if (completionTags.Contains (CompletionTags.Method) ||
                completionTags.Contains (CompletionTags.Operator))
                return CompletionItemKind.Method;

            if (completionTags.Contains (CompletionTags.ExtensionMethod))
                return CompletionItemKind.Function;

            if (completionTags.Contains (CompletionTags.Interface))
                return CompletionItemKind.Interface;

            if (completionTags.Contains (CompletionTags.Property))
                return CompletionItemKind.Property;

            if (completionTags.Contains (CompletionTags.Keyword))
                return CompletionItemKind.Keyword;

            if (completionTags.Contains (CompletionTags.Reference))
                return CompletionItemKind.Reference;

            if (completionTags.Contains (CompletionTags.Snippet))
                return CompletionItemKind.Snippet;

        @default:
            return CompletionItemKind.Text;
        }