コード例 #1
0
        public MethodModel ToModel()
        {
            MethodModel methodModel = new MethodModel();

            methodModel.Name = Name;

            methodModel.GenericArguments =
                GenericArguments?.Select(typeModel => typeModel.ToModel());

            methodModel.Modifiers = new Tuple <AccessLevelEnum, AbstractEnum, StaticEnum,
                                               VirtualEnum, OverrideEnum> (
                EnumMapper.ConvertEnum <AccessLevelEnum, AccessLevelDbModelEnum>(Item1),
                EnumMapper.ConvertEnum <AbstractEnum, AbstractDbModelEnum>(Item2),
                EnumMapper.ConvertEnum <StaticEnum, StaticDbModelEnum>(Item3),
                EnumMapper.ConvertEnum <VirtualEnum, VirtualDbModelEnum>(Item4),
                EnumMapper.ConvertEnum <OverrideEnum, OverrideDbModelEnum>(Item5)
                );

            methodModel.ReturnType = ReturnType;
            methodModel.Extension  = Extension;
            methodModel.Parameters =
                Parameters?.Select(parameterModel => parameterModel.ToModel());

            return(methodModel);
        }
コード例 #2
0
        public TypeModel ToModel()
        {
            TypeModel model = new TypeModel();

            model.TypeEnum         = EnumMapper.ConvertEnum <TypeTypesEnum, TypeTypesSerializationModelEnum>(TypeEnum);
            model.TypeName         = TypeName;
            model.NamespaceName    = NamespaceName;
            model.GenericArguments = GenericArguments?.Select(EmitTypeModel);

            model.Modifiers = new Tuple <AccessLevelEnum, SealedEnum, AbstractEnum>(
                EnumMapper.ConvertEnum <AccessLevelEnum, AccessLevelSerializationModelEnum>(Modifiers.Item1),
                EnumMapper.ConvertEnum <SealedEnum, SealedSerializationModelEnum>(Modifiers.Item2),
                EnumMapper.ConvertEnum <AbstractEnum, AbstractSerializationModelEnum>(Modifiers.Item3));

            model.Attributes            = Attributes?.Select(attributeMetadata => attributeMetadata.ToModel());
            model.FullTypeName          = FullTypeName;
            model.DeclaringType         = DeclaringType == null ? null : EmitTypeModel(DeclaringType);
            model.BaseType              = DeclaringType == null ? null : EmitTypeModel(BaseType);
            model.ImplementedInterfaces = ImplementedInterfaces?.Select(EmitTypeModel);
            model.Fields       = Fields?.Select(typeModel => typeModel.ToModel());
            model.Methods      = Methods?.Select(typeModel => typeModel.ToModel());
            model.Properties   = Properties?.Select(typeModel => typeModel.ToModel());
            model.Indexers     = Indexers?.Select(typeModel => typeModel.ToModel());
            model.Events       = Events?.Select(typeModel => typeModel.ToModel());
            model.Constructors = Constructors?.Select(typeModel => typeModel.ToModel());
            model.NestedTypes  = NestedTypes?.Select(EmitTypeModel);

            return(model);
        }
コード例 #3
0
        public MethodModel ToModel()
        {
            MethodModel methodModel = new MethodModel
            {
                Name = Name,

                GenericArguments =
                GenericArguments?.Select(typeModel => typeModel.ToModel()),

                Modifiers = new Tuple<AccessLevelEnum, AbstractEnum, StaticEnum,
                VirtualEnum, OverrideEnum>(
                EnumMapper.ConvertEnum<AccessLevelEnum, AccessLevelEnumMetadata>(Modifiers.Item1),
                EnumMapper.ConvertEnum<AbstractEnum, AbstractEnumMetadata>(Modifiers.Item2),
                EnumMapper.ConvertEnum<StaticEnum, StaticEnumMetadata>(Modifiers.Item3),
                EnumMapper.ConvertEnum<VirtualEnum, VirtualEnumMetadata>(Modifiers.Item4),
                EnumMapper.ConvertEnum<OverrideEnum, OverrideEnumMetadata>(Modifiers.Item5)
            ),

                ReturnType = ReturnType,
                Extension = Extension,
                Parameters =
                Parameters?.Select(parameterModel => parameterModel.ToModel())
            };

            return methodModel;
        }
コード例 #4
0
        public TypeDbModel(TypeModel model)
        {
            TypeEnum      = EnumMapper.ConvertEnum <TypeTypesDbModelEnum, TypeTypesEnum>(model.TypeEnum);
            TypeName      = model.TypeName;
            NamespaceName = model.NamespaceName;

            Item1 = EnumMapper.ConvertEnum <AccessLevelDbModelEnum, AccessLevelEnum>(model.Modifiers.Item1);
            Item2 = EnumMapper.ConvertEnum <SealedDbModelEnum, SealedEnum>(model.Modifiers.Item2);
            Item3 = EnumMapper.ConvertEnum <AbstractDbModelEnum, AbstractEnum>(model.Modifiers.Item3);

            FullTypeName = model.FullTypeName;
        }
コード例 #5
0
        public MethodDbModel(MethodModel model)
        {
            Name = model.Name;

            Item1 = EnumMapper.ConvertEnum <AccessLevelDbModelEnum, AccessLevelEnum>(model.Modifiers.Item1);
            Item2 = EnumMapper.ConvertEnum <AbstractDbModelEnum, AbstractEnum>(model.Modifiers.Item2);
            Item3 = EnumMapper.ConvertEnum <StaticDbModelEnum, StaticEnum>(model.Modifiers.Item3);
            Item4 = EnumMapper.ConvertEnum <VirtualDbModelEnum, VirtualEnum>(model.Modifiers.Item4);
            Item5 = EnumMapper.ConvertEnum <OverrideDbModelEnum, OverrideEnum>(model.Modifiers.Item5);

            ReturnType = model.ReturnType;
            Extension  = model.Extension;
        }
コード例 #6
0
        public MethodMetadata(MethodModel model)
        {
            Name = model.Name;
            GenericArguments = model.GenericArguments?.Select(TypeMetadata.EmitTypeMetadata);

            Modifiers = new Tuple<AccessLevelEnumMetadata, AbstractEnumMetadata, StaticEnumMetadata,
                VirtualEnumMetadata, OverrideEnumMetadata>(
                EnumMapper.ConvertEnum<AccessLevelEnumMetadata, AccessLevelEnum>(model.Modifiers.Item1),
                EnumMapper.ConvertEnum<AbstractEnumMetadata, AbstractEnum>(model.Modifiers.Item2),
                EnumMapper.ConvertEnum<StaticEnumMetadata, StaticEnum>(model.Modifiers.Item3),
                EnumMapper.ConvertEnum<VirtualEnumMetadata, VirtualEnum>(model.Modifiers.Item4),
                EnumMapper.ConvertEnum<OverrideEnumMetadata, OverrideEnum>(model.Modifiers.Item5)
                );

            ReturnType = model.ReturnType;
            Extension = model.Extension;
            Parameters =
                model.Parameters.Select(ParameterMetadata.EmitUniqueType);
        }
コード例 #7
0
        public MethodSerializationModel(MethodModel model)
        {
            Name             = model.Name;
            GenericArguments = model.GenericArguments == null ? null :
                               model.GenericArguments.Select(TypeSerializationModel.EmitTypeSerializationModel);

            Modifiers = new Tuple <AccessLevelSerializationModelEnum, AbstractSerializationModelEnum, StaticSerializationModelEnum,
                                   VirtualSerializationModelEnum, OverrideSerializationModelEnum> (
                EnumMapper.ConvertEnum <AccessLevelSerializationModelEnum, AccessLevelEnum>(model.Modifiers.Item1),
                EnumMapper.ConvertEnum <AbstractSerializationModelEnum, AbstractEnum>(model.Modifiers.Item2),
                EnumMapper.ConvertEnum <StaticSerializationModelEnum, StaticEnum>(model.Modifiers.Item3),
                EnumMapper.ConvertEnum <VirtualSerializationModelEnum, VirtualEnum>(model.Modifiers.Item4),
                EnumMapper.ConvertEnum <OverrideSerializationModelEnum, OverrideEnum>(model.Modifiers.Item5)
                );

            ReturnType = model.ReturnType;
            Extension  = model.Extension;
            Parameters =
                model.Parameters.Select(ParameterSerializationModel.EmitUniqueType);
        }
コード例 #8
0
        public TypeSerializationModel(TypeModel model)
        {
            TypeEnum      = EnumMapper.ConvertEnum <TypeTypesSerializationModelEnum, TypeTypesEnum>(model.TypeEnum);
            TypeName      = model.TypeName;
            NamespaceName = model.NamespaceName;

            GenericArguments = model.GenericArguments == null ? null :
                               model.GenericArguments.Select(EmitTypeSerializationModel);

            Modifiers = new Tuple <AccessLevelSerializationModelEnum, SealedSerializationModelEnum, AbstractSerializationModelEnum> (
                EnumMapper.ConvertEnum <AccessLevelSerializationModelEnum, AccessLevelEnum>(model.Modifiers.Item1),
                EnumMapper.ConvertEnum <SealedSerializationModelEnum, SealedEnum>(model.Modifiers.Item2),
                EnumMapper.ConvertEnum <AbstractSerializationModelEnum, AbstractEnum>(model.Modifiers.Item3));

            Attributes   = model.Attributes.Select(AttributeSerializationModel.EmitUniqueType);
            FullTypeName = model.FullTypeName;

            DeclaringType = model.DeclaringType == null ? null : EmitTypeSerializationModel(model.DeclaringType);
            BaseType      = model.BaseType == null ? null : EmitTypeSerializationModel(model.BaseType);

            ImplementedInterfaces =
                model.ImplementedInterfaces.Select(EmitTypeSerializationModel);
            Fields =
                model.Fields.Select(FieldSerializationModel.EmitUniqueType);
            Methods =
                model.Methods.Select(MethodSerializationModel.EmitUniqueType);
            Properties =
                model.Properties.Select(PropertySerializationModel.EmitUniqueType);
            Indexers =
                model.Indexers.Select(IndexerSerializationModel.EmitUniqueType);
            Events =
                model.Events.Select(EventSerializationModel.EmitUniqueType);
            Constructors =
                model.Constructors.Select(ConstructorSerializationModel.EmitUniqueType);
            NestedTypes =
                model.NestedTypes.Select(EmitTypeSerializationModel);
        }