internal static bool IsInReadContext(this IParameterSymbol p, CesilTypes types) => IsInOfType(p, types.ReadContext);
internal static bool TryCreate(Compilation compilation, out CesilTypes?types) { var generateSerializerAttribute = compilation.GetTypeByMetadataName("Cesil.GenerateSerializerAttribute"); if (generateSerializerAttribute == null) { types = null; return(false); } var serializerMemberAttribute = compilation.GetTypeByMetadataName("Cesil.SerializerMemberAttribute"); if (serializerMemberAttribute == null) { types = null; return(false); } var writeContext = compilation.GetTypeByMetadataName("Cesil.WriteContext"); if (writeContext == null) { types = null; return(false); } var generateDeserializerAttribute = compilation.GetTypeByMetadataName("Cesil.GenerateDeserializerAttribute"); if (generateDeserializerAttribute == null) { types = null; return(false); } var deserializerMemberAttribute = compilation.GetTypeByMetadataName("Cesil.DeserializerMemberAttribute"); if (deserializerMemberAttribute == null) { types = null; return(false); } var deserializerInstanceProviderAttribute = compilation.GetTypeByMetadataName("Cesil.DeserializerInstanceProviderAttribute"); if (deserializerInstanceProviderAttribute == null) { types = null; return(false); } var readContext = compilation.GetTypeByMetadataName("Cesil.ReadContext"); if (readContext == null) { types = null; return(false); } types = new CesilTypes(generateSerializerAttribute, serializerMemberAttribute, writeContext, generateDeserializerAttribute, deserializerMemberAttribute, deserializerInstanceProviderAttribute, readContext); return(true); }