private TypeDefTreatment GetWellKnownTypeDefinitionTreatment(TypeDefinitionHandle typeDef) { InitializeProjectedTypes(); StringHandle name = TypeDefTable.GetName(typeDef); int index = StringStream.BinarySearchRaw(s_projectedTypeNames, name); if (index < 0) { return(TypeDefTreatment.None); } StringHandle namespaceName = TypeDefTable.GetNamespace(typeDef); if (StringStream.EqualsRaw(namespaceName, StringStream.GetVirtualValue(s_projectionInfos[index].ClrNamespace))) { return(s_projectionInfos[index].Treatment); } // TODO: we can avoid this comparison if info.DotNetNamespace == info.WinRtNamespace if (StringStream.EqualsRaw(namespaceName, s_projectionInfos[index].WinRTNamespace)) { return(s_projectionInfos[index].Treatment | TypeDefTreatment.MarkInternalFlag); } return(TypeDefTreatment.None); }