internal override NamedTypeSymbol GetDeclaredBaseType(ConsList <Symbol> basesBeingResolved) { if (ReferenceEquals(_lazyDeclaredBaseType, ErrorTypeSymbol.UnknownResultType)) { var underlyingBase = _underlyingType.GetDeclaredBaseType(basesBeingResolved); var declaredBase = (object)underlyingBase != null?this.RetargetingTranslator.Retarget(underlyingBase, RetargetOptions.RetargetPrimitiveTypesByName) : null; Interlocked.CompareExchange(ref _lazyDeclaredBaseType, declaredBase, ErrorTypeSymbol.UnknownResultType); } return(_lazyDeclaredBaseType); }