Rosetta.AST.Helpers.BaseTypeReference.TryGetTypeSymbolFullName C# (CSharp) Method

TryGetTypeSymbolFullName() static private method

Tries all possible ways to retrieve the full name using the semantic model.
static private TryGetTypeSymbolFullName ( BaseTypeSyntax node, Microsoft.CodeAnalysis.SemanticModel semanticModel ) : string
node BaseTypeSyntax
semanticModel Microsoft.CodeAnalysis.SemanticModel
return string
        internal static string TryGetTypeSymbolFullName(BaseTypeSyntax node, SemanticModel semanticModel)
        {
            var displayFormat = new SymbolDisplayFormat(typeQualificationStyle: SymbolDisplayTypeQualificationStyle.NameAndContainingTypesAndNamespaces);

            // Symbol can be found via Symbol
            ISymbol symbol = semanticModel.GetSymbolInfo(node.Type).Symbol;
            if (symbol != null)
            {
                return symbol.ToDisplayString(displayFormat);
            }

            // Symbol can be found via TypeSymbol
            ITypeSymbol type = semanticModel.GetTypeInfo(node.Type).Type;
            if (type != null)
            {
                return type.ToDisplayString(displayFormat);
            }

            // Could not find symbol
            return null;
        }