private ProxyProvidedVar(string name, bool isMutable, ProvidedType type, ProvidedTypeContextHolder context) : base(null, context.Context) { Name = name; IsMutable = isMutable; Type = type; }
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 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)); }
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 ProxyProvidedType Create( RdOutOfProcessProvidedType type, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => type == null ? null : new ProxyProvidedType(type, typeProviderId, typeProvidersContext, context);
public static ProxyProvidedFieldInfo Create(RdProvidedFieldInfo fieldInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => fieldInfo == null ? null : new ProxyProvidedFieldInfo(fieldInfo, typeProviderId, typeProvidersContext, context);
public static ProxyProvidedPropertyInfo Create(RdProvidedPropertyInfo propertyInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => propertyInfo == null ? null : new ProxyProvidedPropertyInfo(propertyInfo, typeProviderId, typeProvidersContext, context);
public static ProxyProvidedConstructorInfo Create(RdProvidedConstructorInfo constructorInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => constructorInfo == null ? null : new ProxyProvidedConstructorInfo(constructorInfo, typeProviderId, typeProvidersContext, context);
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 static ProxyProvidedVar Create(string name, bool isMutable, ProvidedType type, ProvidedTypeContextHolder context) => new ProxyProvidedVar(name, isMutable, type, context);
public static ProxyProvidedMethodInfo Create(RdProvidedMethodInfo methodInfo, int typeProviderId, TypeProvidersContext typeProvidersContext, ProvidedTypeContextHolder context) => methodInfo == null ? null : new ProxyProvidedMethodInfo(methodInfo, typeProviderId, typeProvidersContext, context);