Esempio n. 1
0
        public QualifiedType GetType(string namespaceQualifiedName)
        {
            if (this.namespaceQualifiedTypeCache.TryGetValue(namespaceQualifiedName, out var qualifiedType))
            {
                return(qualifiedType);
            }

            var typeSymbol = this.codeAnalyzer.Compilation.GetTypeByMetadataName(namespaceQualifiedName);

            if (typeSymbol == null)
            {
                throw new TypeNotFoundException($"The namespace qualified type: {namespaceQualifiedName} could not be found");
            }

            qualifiedType = QualifiedSymbolFactory.CreateType(this.codeAnalyzer, typeSymbol);
            this.namespaceQualifiedTypeCache.Add(namespaceQualifiedName, qualifiedType);
            return(qualifiedType);
        }