Пример #1
0
 private void RegisterFieldPatternGenerators(IPatternContainer container)
 {
     container.RegisterType(typeof(IFieldAccessSpecifier), typeof(AccessSpecifierGenerator));
     container.RegisterType(typeof(IFieldAccessModifier), typeof(AccessModifierGenerator));
     container.RegisterType(typeof(IFieldType), typeof(TypeGenerator));
     container.RegisterType(typeof(IFieldName), typeof(NameGenerator));
     container.RegisterType(typeof(IFieldAttribute), typeof(AttributeGenerator));
     container.RegisterType(typeof(IFieldValue), typeof(ValueGenerator));
 }
Пример #2
0
 private void RegisterMethodPatternGenerators(IPatternContainer container)
 {
     container.RegisterType(typeof(IMethodAccessSpecifier <>), typeof(AccessSpecifierGenerator));
     container.RegisterType(typeof(IMethodAccessModifier <>), typeof(AccessModifierGenerator));
     container.RegisterType(typeof(IMethodType <>), typeof(TypeGenerator));
     container.RegisterType(typeof(IMethodName <>), typeof(NameGenerator));
     container.RegisterType(typeof(IMethodGenericArguments <>), typeof(GenericArgumentsGenerator));
     container.RegisterType(typeof(IMethodGenericArgumentsConstraints <>), typeof(GenericArgumentsConstraintsGenerator));
     container.RegisterType(typeof(IMethodAttribute <>), typeof(AttributeGenerator));
     container.RegisterType(typeof(IMethodParameters <>), typeof(MethodParametersGenerator));
     container.RegisterType(typeof(IMethodBody <>), typeof(MethodBodyGenerator));
 }
Пример #3
0
 private void RegisterInterfacePatternGenerators(IPatternContainer container)
 {
     container.RegisterType <IInterfaceNamespace, NamespaceGenerator>();
     container.RegisterType <IInterfaceUsingDirectives, UsingDirectivesGenerator>();
     container.RegisterType <IInterfaceAccessSpecifier, AccessSpecifierGenerator>();
     container.RegisterType <IInterfaceName, NameGenerator>();
     container.RegisterType <IInterfaceAttribute, AttributeGenerator>();
     container.RegisterType <IInterfaceGenericArguments, GenericArgumentsGenerator>();
     container.RegisterType <IInterfaceGenericArgumentsConstraints, GenericArgumentsConstraintsGenerator>();
     container.RegisterType <IInterfaceInheritance, InheritanceGenerator>();
     container.RegisterType <IInterfaceBody, RawStringDataGenerator>();
 }
Пример #4
0
 private void RegisterPropertyPatternGenerators(IPatternContainer container)
 {
     container.RegisterType(typeof(IPropertyAccessSpecifier <>), typeof(AccessSpecifierGenerator));
     container.RegisterType(typeof(IPropertyAccessModifier <>), typeof(AccessModifierGenerator));
     container.RegisterType(typeof(IPropertyType <>), typeof(TypeGenerator));
     container.RegisterType(typeof(IPropertyName <>), typeof(NameGenerator));
     container.RegisterType(typeof(IPropertyAttribute <>), typeof(AttributeGenerator));
     container.RegisterType(typeof(IPropertyValue <>), typeof(ValueGenerator));
     container.RegisterType(typeof(IGetAccessSpecifier <>), typeof(AccessSpecifierGenerator));
     container.RegisterType(typeof(ISetAccessSpecifier <>), typeof(AccessSpecifierGenerator));
     container.RegisterType(typeof(IGetBody <>), typeof(GetBodyGenerator));
     container.RegisterType(typeof(ISetBody <>), typeof(SetBodyGenerator));
 }
Пример #5
0
 private void RegisterClassPatternGenerators(IPatternContainer container)
 {
     container.RegisterType <IClassNamespace, NamespaceGenerator>();
     container.RegisterType <IClassUsingDirectives, UsingDirectivesGenerator>();
     container.RegisterType <IClassAccessSpecifier, AccessSpecifierGenerator>();
     container.RegisterType <IClassType, ClassTypeGenerator>();
     container.RegisterType <IClassName, NameGenerator>();
     container.RegisterType <IClassAttribute, AttributeGenerator>();
     container.RegisterType <IClassGenericArguments, GenericArgumentsGenerator>();
     container.RegisterType <IClassGenericArgumentsConstraints, GenericArgumentsConstraintsGenerator>();
     container.RegisterType <IClassInheritance, InheritanceGenerator>();
     container.RegisterType <IClassBody, RawStringDataGenerator>();
 }
Пример #6
0
        private IUnityContainer SetupDIContainer(IPatternContainer patternContainer, IPatternResolver patternResolver)
        {
            var container = new UnityContainer();

            container.RegisterInstance(typeof(IPatternContainer), patternContainer,
                                       new ContainerControlledLifetimeManager());
            container.RegisterInstance(typeof(IPatternResolver), patternResolver,
                                       new ContainerControlledLifetimeManager());

            container.RegisterType(typeof(IFactory <>), typeof(AbstractFactory <>));
            container.RegisterType(typeof(IFactory <IGeneratableHandler>), typeof(PatternFactory));

            container.RegisterType(typeof(IGenerator), typeof(SingleValueCodeGenerator));
            container.RegisterType(typeof(IGenerator), typeof(MultipleValueGenerator), "MultipleValue");

            RegisterFieldDependencies(container);
            RegisterPropertyDependencies(container);
            RegisterMethodDependencies(container);
            RegisterClassDependencies(container);
            RegisterInterfaceDependencies(container);
            RegisterFileDependencies(container);

            return(container);
        }
Пример #7
0
 public PatternResolver(IPatternContainer container)
 {
     _container = container ?? throw new ArgumentNullException(nameof(container));
 }
Пример #8
0
 private void RegisterFilePatternGenerators(IPatternContainer container)
 {
     container.RegisterType <IInterface, RawStringDataGenerator>();
     container.RegisterType <IClass, RawStringDataGenerator>();
 }
Пример #9
0
 public PatternFactory(IPatternContainer container)
 {
     Container = container ?? throw new ArgumentNullException(nameof(container));
 }