public PropertyMember(IType declaringType, string name, string fullName, ITypeInstance <IType> type, bool isCompilerGenerated) { Name = name; FullName = fullName; _typeInstance = type; DeclaringType = declaringType; IsCompilerGenerated = isCompilerGenerated; PropertyTypeDependency = new PropertyTypeDependency(this); }
public FieldMember(IType declaringType, string name, string fullName, Visibility visibility, ITypeInstance <IType> typeInstance, bool isCompilerGenerated) { DeclaringType = declaringType; Name = name; FullName = fullName; Visibility = visibility; IsCompilerGenerated = isCompilerGenerated; _typeInstance = typeInstance; }
public MemberGenericParameterTypeConstraintDependency(GenericParameter originGenericParameter, ITypeInstance <IType> typeConstraintInstance) : base(originGenericParameter.DeclaringMethod, typeConstraintInstance) { if (!originGenericParameter.DeclarerIsMethod) { throw new ArgumentException( "Use TypeGenericParameterTypeConstraintDependency for Generic Parameters of Types."); } OriginGenericParameter = originGenericParameter; }
public MethodMember(string name, string fullName, IType declaringType, Visibility visibility, ITypeInstance <IType> returnType, bool isVirtual, MethodForm methodForm, bool isGeneric, bool isStub, bool isCompilerGenerated) { Name = name; FullName = fullName; DeclaringType = declaringType; Visibility = visibility; _returnTypeInstance = returnType; IsVirtual = isVirtual; MethodForm = methodForm; IsGeneric = isGeneric; IsStub = isStub; IsCompilerGenerated = isCompilerGenerated; }
// ReSharper disable SuggestBaseTypeForParameter public InheritsBaseClassDependency(Class origin, ITypeInstance <Class> targetInstance) : base(origin, targetInstance) { }
public ImplementsInterfaceDependency(IType origin, ITypeInstance <Interface> implementedInterface) : base(origin, implementedInterface) { }
public AttributeMemberDependency(IMember member, ITypeInstance <Attribute> attributeInstance) : base(member, attributeInstance) { }
public TypeReferenceDependency(IType origin, ITypeInstance <IType> targetInstance) : base(origin, targetInstance) { }
private MethodMemberInstance CreateMethodMemberFromMethodReference( [NotNull] ITypeInstance <IType> typeInstance, [NotNull] MethodReference methodReference) { if (methodReference.IsGenericInstance) { var elementMethod = CreateMethodMemberFromMethodReference(typeInstance, methodReference.GetElementMethod()).Member; var genericInstanceMethod = (GenericInstanceMethod)methodReference; var genericArguments = genericInstanceMethod.GenericArguments .Select(CreateGenericArgumentFromTypeReference) .Where(argument => !argument.Type.IsCompilerGenerated); return(new MethodMemberInstance(elementMethod, typeInstance.GenericArguments, genericArguments)); } var returnTypeReference = methodReference.ReturnType; var returnType = GetOrCreateStubTypeInstanceFromTypeReference(returnTypeReference); var name = methodReference.BuildMethodMemberName(); var fullName = methodReference.BuildFullName(); var isGeneric = methodReference.HasGenericParameters; var isCompilerGenerated = methodReference.IsCompilerGenerated(); MethodForm methodForm; Visibility visibility; bool isStub; MethodDefinition methodDefinition; try { methodDefinition = methodReference.Resolve(); } catch (AssemblyResolutionException) { methodDefinition = null; } if (methodDefinition == null) { visibility = Public; methodForm = methodReference.HasConstructorName() ? MethodForm.Constructor : MethodForm.Normal; isStub = true; } else { visibility = methodDefinition.GetVisibility(); methodForm = methodDefinition.GetMethodForm(); isStub = false; } var methodMember = new MethodMember(name, fullName, typeInstance.Type, visibility, returnType, false, methodForm, isGeneric, isStub, isCompilerGenerated); var parameters = methodReference.GetParameters(this).ToList(); methodMember.ParameterInstances.AddRange(parameters); var genericParameters = GetGenericParameters(methodReference); methodMember.GenericParameters.AddRange(genericParameters); return(new MethodMemberInstance(methodMember, typeInstance.GenericArguments, Enumerable.Empty <GenericArgument>())); }
// ReSharper disable once SuggestBaseTypeForParameter public MethodSignatureDependency(MethodMember method, ITypeInstance <IType> signatureTypeInstance) : base(method, signatureTypeInstance) { }
public TypeCheckDependency(IMember originMember, ITypeInstance <IType> typeCheckTypeInstance) : base(originMember, typeCheckTypeInstance) { }
public CastTypeDependency(IMember originMember, ITypeInstance <IType> castTypeInstance) : base(originMember, castTypeInstance) { }
public MetaDataDependency(IMember originMember, ITypeInstance <IType> metaDataTypeInstance) : base(originMember, metaDataTypeInstance) { }
protected MemberTypeInstanceDependency(IMember originMember, ITypeInstance <IType> targetInstance) : base(originMember.DeclaringType, targetInstance) { OriginMember = originMember; }
protected TypeInstanceDependency(IType origin, ITypeInstance <IType> targetInstance) { Origin = origin; TargetInstance = targetInstance; }
// ReSharper disable once SuggestBaseTypeForParameter public BodyTypeMemberDependency(MethodMember method, ITypeInstance <IType> targetTypeInstance) : base(method, targetTypeInstance) { }
public GenericArgument(ITypeInstance <IType> typeInstance) { Type = typeInstance.Type; GenericArguments = typeInstance.GenericArguments; }
internal MethodMemberInstance GetOrCreateMethodMemberFromMethodReference( [NotNull] ITypeInstance <IType> typeInstance, [NotNull] MethodReference methodReference) { return(_methodMemberRegistry.GetOrCreateMethodFromMethodReference(methodReference, s => CreateMethodMemberFromMethodReference(typeInstance, methodReference))); }
public AttributeTypeDependency(IType origin, ITypeInstance <Attribute> attributeInstance) : base(origin, attributeInstance) { }