private static TypeDefinition CreateDefinition(StructureKind kind, ISpecimenContext context) { TypeDefinition definition; switch (kind) { case StructureKind.Class: definition = TypeDefinition.NewClass((ClassDefinition)context.Resolve(typeof(ClassDefinition))); break; case StructureKind.Struct: definition = TypeDefinition.NewStruct((ClassDefinition)context.Resolve(typeof(ClassDefinition))); break; case StructureKind.Interface: definition = TypeDefinition.NewInterface((ClassDefinition)context.Resolve(typeof(ClassDefinition))); break; case StructureKind.Enum: definition = TypeDefinition.NewEnum((EnumDefinition)context.Resolve(typeof(EnumDefinition))); break; case StructureKind.Delegate: definition = TypeDefinition.NewDelegate((DelegateDefinition)context.Resolve(typeof(DelegateDefinition))); break; default: definition = null; break; } return(definition); }
protected ContainerDefinitionDataAttribute( StructureKind kind = StructureKind.Class, string name = "Foo", string parent = "", string nspace = "", string[] modifiers = null, string[] accessModifiers = null, string[] baseTypes = null, string[] generics = null, bool hasComments = false, int membersCount = 0, string[] membersVisibility = null, string setVisibilty = null, string getVisibility = null, object[] values = null) : base(new ISpecimenBuilder[] { new TypeDefinitionBuilder(kind), new TypeIdentityBuilder(name, parent, nspace, modifiers, accessModifiers, baseTypes, generics), new PropertiesBuilder(membersCount, membersVisibility, setVisibilty, getVisibility), new TypeFieldsBuilder(membersCount, membersVisibility), new TypeEventsBuilder(membersCount, membersVisibility), new TypeMethodsBuilder(membersCount, membersVisibility), new TypeCommentBuilder(hasComments) }, values ?? new object[0]) { }
public ContainerDefinitionDataAttribute(string[] membersVisibility, int membersCount, StructureKind kind = StructureKind.Class, string setVisibilty = null, string getVisibility = null, object[] values = null) : base(new [] { new TypeDefinitionBuilder(kind), DefaultIdentityBuilder, new TypePropertiesBuilder(membersCount, membersVisibility, setVisibilty, getVisibility), new TypeFieldsBuilder(membersCount, membersVisibility), new TypeEventsBuilder(membersCount, membersVisibility), new TypeMethodsBuilder(membersCount, membersVisibility), }, values ?? new object[0]) { }
private void StartStructured(StructureKind kind) { Write(kind == StructureKind.Array ? "[" : "{", TokenKind.Structure); _counters.Push(0); _structures.Push(kind); }
public ContainerDefinitionDataAttribute(string name, string parent, string nspace, StructureKind kind, string[] parameters, params object[] values) : base(new ISpecimenBuilder[] { new TypeIdentityBuilder(name, parent, nspace, parameters: parameters), new TypeDefinitionBuilder(kind) }, values) { }
public TypeDefinitionBuilder(StructureKind kind) { _kind = kind; }