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); }