public EmitTypeBuilder(EmitAssembly assembly, string ns, string name, EmitTypeKind kind, EmitType declaringType, EmitVisibility visibility, EmitTypeReference baseType, Func<EmitType, IReadOnlyList<EmitTypeReference>> implementedInterfacesFactory, bool isAbstract, bool isSealed ) : base(assembly, ns, name, kind, declaringType, result => ((EmitTypeBuilder)result).memberBuilders = new List<EmitMemberReference>(), visibility, baseType, implementedInterfacesFactory, isAbstract, isSealed) { }
public EmitTypeBuilder(EmitAssembly assembly, string ns, string name, EmitTypeKind kind, EmitType declaringType, EmitVisibility visibility, EmitTypeReference baseType, Func <EmitType, IReadOnlyList <EmitTypeReference> > implementedInterfacesFactory, bool isAbstract, bool isSealed ) : base(assembly, ns, name, kind, declaringType, result => ((EmitTypeBuilder)result).memberBuilders = new List <EmitMemberReference>(), visibility, baseType, implementedInterfacesFactory, isAbstract, isSealed) { }
public EmitArrayType(EmitAssembly assembly, string ns, string name, EmitTypeKind kind, EmitType declaringType, Func<EmitType, IReadOnlyList<EmitMemberReference>> membersFactory, EmitTypeReference baseType, EmitType elementType, int rank ) : base(assembly, ns, name, kind, declaringType, membersFactory, elementType.Visibility, baseType, _ => new List<EmitTypeReference>(), true, true) { ElementType = elementType; Rank = rank; }
public EmitArrayType(EmitAssembly assembly, string ns, string name, EmitTypeKind kind, EmitType declaringType, Func <EmitType, IReadOnlyList <EmitMemberReference> > membersFactory, EmitTypeReference baseType, EmitType elementType, int rank ) : base(assembly, ns, name, kind, declaringType, membersFactory, elementType.Visibility, baseType, _ => new List <EmitTypeReference>(), true, true) { ElementType = elementType; Rank = rank; }
public EmitType(EmitAssembly assembly, string ns, string name, EmitTypeKind kind, EmitType declaringType, Func <EmitType, IReadOnlyList <EmitMemberReference> > membersFactory, EmitVisibility visibility, EmitTypeReference baseType, Func <EmitType, IReadOnlyList <EmitTypeReference> > implementedInterfacesFactory, bool isAbstract, bool isSealed ) : base(declaringType, name) { Assembly = assembly; Namespace = ns; Members = new ReadOnlyListWrapper <EmitMemberReference, EmitMember>(membersFactory(this)); Visibility = visibility; Kind = kind; IsAbstract = isAbstract; IsSealed = isSealed; ImplementedInterfaces = new ReadOnlyListWrapper <EmitTypeReference, EmitType>(implementedInterfacesFactory(this)); this.baseType = baseType; }
public EmitGenericType(EmitAssembly assembly, string ns, string name, EmitType declaringType, Func<EmitType, IReadOnlyList<EmitMemberReference>> membersFactory, EmitTypeReference baseType, EmitType genericTypeDefinition, IReadOnlyList<EmitType> typeArguments) : base(assembly, ns, name, genericTypeDefinition.Kind, declaringType, membersFactory, genericTypeDefinition.Visibility, baseType, DeriveImplementedInterfaces(genericTypeDefinition), genericTypeDefinition.IsAbstract, genericTypeDefinition.IsSealed) { GenericTypeDefinition = genericTypeDefinition; TypeArguments = typeArguments; }
public EmitGenericType(EmitAssembly assembly, string ns, string name, EmitType declaringType, Func <EmitType, IReadOnlyList <EmitMemberReference> > membersFactory, EmitTypeReference baseType, EmitType genericTypeDefinition, IReadOnlyList <EmitType> typeArguments) : base(assembly, ns, name, genericTypeDefinition.Kind, declaringType, membersFactory, genericTypeDefinition.Visibility, baseType, DeriveImplementedInterfaces(genericTypeDefinition), genericTypeDefinition.IsAbstract, genericTypeDefinition.IsSealed) { GenericTypeDefinition = genericTypeDefinition; TypeArguments = typeArguments; }