private ProxyProvidedConstructorInfo(RdProvidedConstructorInfo constructorInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) : base(null, context.Context) { myConstructorInfo = constructorInfo; myTypeProviderId = typeProviderId; myTypeProvidersContext = typeProvidersContext; myContext = context; myParameters = new InterruptibleLazy <ProvidedParameterInfo[]>(() => // ReSharper disable once CoVariantArrayConversion myTypeProvidersContext.Connection .ExecuteWithCatch(() => RdProvidedConstructorInfoProcessModel.GetParameters.Sync(EntityId)) .Select(t => ProxyProvidedParameterInfo.Create(t, myTypeProviderId, typeProvidersContext, myContext)) .ToArray()); myGenericArguments = new InterruptibleLazy <ProvidedType[]>(() => myTypeProvidersContext.ProvidedTypesCache.GetOrCreateBatch(constructorInfo.GenericArguments, myTypeProviderId, myContext)); myStaticParameters = new InterruptibleLazy <ProvidedParameterInfo[]>(() => // ReSharper disable once CoVariantArrayConversion myTypeProvidersContext.Connection .ExecuteWithCatch(() => RdProvidedConstructorInfoProcessModel.GetStaticParametersForMethod.Sync(EntityId)) .Select(t => ProxyProvidedParameterInfo.Create(t, myTypeProviderId, typeProvidersContext, myContext)) .ToArray()); myCustomAttributes = new InterruptibleLazy <RdCustomAttributeData[]>(() => myTypeProvidersContext.ProvidedCustomAttributeProvider.GetCustomAttributes(this)); }
private ProxyProvidedParameterInfo(RdProvidedParameterInfo parameterInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) : base(null, context.Context) { myParameterInfo = parameterInfo; myTypeProviderId = typeProviderId; myTypeProvidersContext = typeProvidersContext; myContext = context; RawDefaultValue = myParameterInfo.RawDefaultValue.Unbox(); }
private ProxyProvidedFieldInfo(RdProvidedFieldInfo fieldInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) : base(null, context.Context) { myFieldInfo = fieldInfo; myTypeProvidersContext = typeProvidersContext; myRawConstantValue = myFieldInfo.RawConstantValue.Unbox(); myTypes = new InterruptibleLazy <ProvidedType[]>(() => myTypeProvidersContext.ProvidedTypesCache.GetOrCreateBatch(new[] { fieldInfo.DeclaringType, fieldInfo.FieldType }, typeProviderId, context)); }
public ProxyTypeProvider(RdTypeProvider rdTypeProvider, TypeProvidersContext typeProvidersContext) { myRdTypeProvider = rdTypeProvider; myTypeProvidersContext = typeProvidersContext; // ReSharper disable once CoVariantArrayConversion myProvidedNamespaces = new InterruptibleLazy <IProvidedNamespace[]>( myTypeProvidersContext.Connection .ExecuteWithCatch(() => RdTypeProviderProcessModel.GetProvidedNamespaces.Sync(EntityId, RpcTimeouts.Maximal)) .Select(t => new ProxyProvidedNamespace(t, myRdTypeProvider.EntityId, myTypeProvidersContext)) .ToArray()); }
public ProxyProvidedNamespace(RdProvidedNamespace providedNamespace, int typeProviderId, TypeProvidersContext typeProvidersContext) { myProvidedNamespace = providedNamespace; var context = ProvidedTypeContextHolder.Create(); myNestedNamespaces = new InterruptibleLazy <ProxyProvidedNamespace[]>(() => providedNamespace.NestedNamespaces .Select(t => new ProxyProvidedNamespace(t, typeProviderId, typeProvidersContext)) .ToArray()); myProvidedTypes = new InterruptibleLazy <ProvidedType[]>(() => typeProvidersContext.ProvidedTypesCache.GetOrCreateBatch(providedNamespace.Types, typeProviderId, context)); }
private ProxyProvidedEventInfo(RdProvidedEventInfo eventInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) : base(null, context.Context) { myEventInfo = eventInfo; myTypeProvidersContext = typeProvidersContext; myMethods = new InterruptibleLazy <ProvidedMethodInfo[]>(() => // ReSharper disable once CoVariantArrayConversion myTypeProvidersContext.Connection.ExecuteWithCatch(() => typeProvidersContext.Connection.ProtocolModel.RdProvidedMethodInfoProcessModel.GetProvidedMethodInfos .Sync(new[] { eventInfo.AddMethod, eventInfo.RemoveMethod }, RpcTimeouts.Maximal) .Select(t => ProxyProvidedMethodInfo.Create(t, typeProviderId, typeProvidersContext, context)) .ToArray())); myTypes = new InterruptibleLazy <ProvidedType[]>(() => myTypeProvidersContext.ProvidedTypesCache.GetOrCreateBatch( new[] { eventInfo.DeclaringType, eventInfo.EventHandlerType }, typeProviderId, context)); }
private ProxyProvidedPropertyInfo(RdProvidedPropertyInfo propertyInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) : base(null, context.Context) { myPropertyInfo = propertyInfo; myTypeProviderId = typeProviderId; myTypeProvidersContext = typeProvidersContext; myContext = context; myMethods = new InterruptibleLazy <ProvidedMethodInfo[]>(() => // ReSharper disable once CoVariantArrayConversion GetMethodsInfos() .Select(t => ProxyProvidedMethodInfo.Create(t, typeProviderId, typeProvidersContext, context)) .ToArray()); myIndexParameters = new InterruptibleLazy <ProvidedParameterInfo[]>( () => // ReSharper disable once CoVariantArrayConversion propertyInfo.IndexParameters .Select(t => ProxyProvidedParameterInfo.Create(t, typeProviderId, typeProvidersContext, context)) .ToArray()); myCustomAttributes = new InterruptibleLazy <RdCustomAttributeData[]>(() => myTypeProvidersContext.ProvidedCustomAttributeProvider.GetCustomAttributes(this)); }
public ProvidedConstructorInfosHost(TypeProvidersContext typeProvidersContext) =>
public static ProxyProvidedConstructorInfo Create(RdProvidedConstructorInfo constructorInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => constructorInfo == null ? null : new ProxyProvidedConstructorInfo(constructorInfo, typeProviderId, typeProvidersContext, context);
public ProvidedTypeCreator(TypeProvidersContext typeProvidersContext) : base(typeProvidersContext.ProvidedTypesCache) => myTypeProvidersContext = typeProvidersContext;
public ProvidedFieldCreator(TypeProvidersContext typeProvidersContext) =>
public ProvidedParameterCreator(TypeProvidersContext typeProvidersContext) =>
public ProvidedConstructorCreator(TypeProvidersContext typeProvidersContext) : base(typeProvidersContext.ProvidedConstructorsCache) =>
public TypeProvidersHost(TypeProvidersContext typeProvidersContext) =>
public static ProxyProvidedFieldInfo Create(RdProvidedFieldInfo fieldInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => fieldInfo == null ? null : new ProxyProvidedFieldInfo(fieldInfo, typeProviderId, typeProvidersContext, context);
public ProvidedTypesHost(TypeProvidersContext typeProvidersContext) =>
public static ProxyProvidedEventInfo Create(RdProvidedEventInfo eventInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => eventInfo == null ? null : new ProxyProvidedEventInfo(eventInfo, typeProviderId, typeProvidersContext, context);
public static ProxyProvidedParameterInfo Create(RdProvidedParameterInfo parameter, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => parameter == null ? null : new ProxyProvidedParameterInfo(parameter, typeProviderId, typeProvidersContext, context);
public ProvidedNamespaceCreator(TypeProvidersContext typeProvidersContext) =>
public static ProxyProvidedPropertyInfo Create(RdProvidedPropertyInfo propertyInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => propertyInfo == null ? null : new ProxyProvidedPropertyInfo(propertyInfo, typeProviderId, typeProvidersContext, context);
private ProxyProvidedType(RdOutOfProcessProvidedType rdProvidedType, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) : base(null, context.Context) { myRdProvidedType = rdProvidedType; myTypeProviderId = typeProviderId; myTypeProvidersContext = typeProvidersContext; myContext = context; myInterfaces = new InterruptibleLazy <ProvidedType[]>(() => myTypeProvidersContext.ProvidedTypesCache.GetOrCreateBatch( myTypeProvidersContext.Connection.ExecuteWithCatch(() => RdProvidedTypeProcessModel.GetInterfaces.Sync(EntityId)), typeProviderId, context)); myGenericArguments = new InterruptibleLazy <ProvidedType[]>(() => myTypeProvidersContext.ProvidedTypesCache.GetOrCreateBatch(myRdProvidedType.GenericArguments, typeProviderId, context)); myMethods = new InterruptibleLazy <ProvidedMethodInfo[]>(() => // ReSharper disable once CoVariantArrayConversion myTypeProvidersContext.Connection .ExecuteWithCatch(() => RdProvidedTypeProcessModel.GetMethods.Sync(EntityId, RpcTimeouts.Maximal)) .Select(t => ProxyProvidedMethodInfo.Create(t, typeProviderId, typeProvidersContext, context)) .ToArray()); myAllNestedTypes = new InterruptibleLazy <ProvidedType[]>(() => myTypeProvidersContext.ProvidedTypesCache.GetOrCreateBatch(myTypeProvidersContext.Connection.ExecuteWithCatch( () => RdProvidedTypeProcessModel.GetAllNestedTypes.Sync(EntityId, RpcTimeouts.Maximal)), typeProviderId, context)); myProperties = new InterruptibleLazy <ProvidedPropertyInfo[]>(() => // ReSharper disable once CoVariantArrayConversion myTypeProvidersContext.Connection .ExecuteWithCatch(() => RdProvidedTypeProcessModel.GetProperties.Sync(EntityId, RpcTimeouts.Maximal)) .Select(t => ProxyProvidedPropertyInfo.Create(t, myTypeProviderId, myTypeProvidersContext, context)) .ToArray()); myStaticParameters = new InterruptibleLazy <ProvidedParameterInfo[]>(() => // ReSharper disable once CoVariantArrayConversion myTypeProvidersContext.Connection .ExecuteWithCatch(() => RdProvidedTypeProcessModel.GetStaticParameters.Sync(EntityId, RpcTimeouts.Maximal)) .Select(t => ProxyProvidedParameterInfo.Create(t, myTypeProviderId, myTypeProvidersContext, context)) .ToArray()); myFields = new InterruptibleLazy <ProvidedFieldInfo[]>(() => // ReSharper disable once CoVariantArrayConversion myTypeProvidersContext.Connection .ExecuteWithCatch(() => RdProvidedTypeProcessModel.GetFields.Sync(EntityId, RpcTimeouts.Maximal)) .Select(t => ProxyProvidedFieldInfo.Create(t, myTypeProviderId, typeProvidersContext, context)) .ToArray()); myEvents = new InterruptibleLazy <ProvidedEventInfo[]>(() => // ReSharper disable once CoVariantArrayConversion myTypeProvidersContext.Connection .ExecuteWithCatch(() => RdProvidedTypeProcessModel.GetEvents.Sync(EntityId, RpcTimeouts.Maximal)) .Select(t => ProxyProvidedEventInfo.Create(t, myTypeProviderId, myTypeProvidersContext, context)) .ToArray()); myConstructors = new InterruptibleLazy <ProvidedConstructorInfo[]>(() => // ReSharper disable once CoVariantArrayConversion myTypeProvidersContext.Connection .ExecuteWithCatch(() => RdProvidedTypeProcessModel.GetConstructors.Sync(EntityId, RpcTimeouts.Maximal)) .Select(t => ProxyProvidedConstructorInfo.Create(t, myTypeProviderId, myTypeProvidersContext, context)) .ToArray()); myCustomAttributes = new InterruptibleLazy <RdCustomAttributeData[]>(() => myTypeProvidersContext.ProvidedCustomAttributeProvider.GetCustomAttributes(this)); myMakeArrayTypesCache = new Dictionary <int, ProvidedType>(); myGenericTypesCache = new Dictionary <string, ProvidedType>(); }
public static ProxyProvidedMethodInfo Create(RdProvidedMethodInfo methodInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => methodInfo == null ? null : new ProxyProvidedMethodInfo(methodInfo, typeProviderId, typeProvidersContext, context);
public ProvidedEventCreator(TypeProvidersContext typeProvidersContext) =>
public ProvidedPropertyCreator(TypeProvidersContext typeProvidersContext) : base(typeProvidersContext.ProvidedPropertyCache) =>
public static ProxyProvidedType Create( RdOutOfProcessProvidedType type, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => type == null ? null : new ProxyProvidedType(type, typeProviderId, typeProvidersContext, context);
public ProvidedMethodCreator(TypeProvidersContext typeProvidersContext) : base(typeProvidersContext .ProvidedMethodsCache) => myTypeProvidersContext = typeProvidersContext;
public ProvidedMethodInfosHost(TypeProvidersContext typeProvidersContext) =>
public ProvidedAssemblyHost(TypeProvidersContext typeProvidersContext) =>
public ProvidedAssemblyCreator(TypeProvidersContext context) : base(context.ProvidedAssembliesCache) { }
public TypeProviderCreator(TypeProvidersContext typeProvidersContext) =>