Exemple #1
0
 private static DTGTypeMetadata EmitExtendsDTG(XMLTypeMetadata baseType)
 {
     if (baseType == null)
     {
         return(null);
     }
     return(EmitReferenceDTG(baseType));
 }
Exemple #2
0
 private static DTGTypeMetadata EmitDeclaringTypeDTG(XMLTypeMetadata declaringType)
 {
     if (declaringType == null)
     {
         return(null);
     }
     return(EmitReferenceDTG(declaringType));
 }
Exemple #3
0
 public static IEnumerable <DTGTypeMetadata> CheckGenericArgumentsDTG(XMLTypeMetadata typeMetadata)
 {
     if (typeMetadata.GenericArgumentsL != null)
     {
         return(EmitGenericArgumentsDTG(typeMetadata.GenericArgumentsL));
     }
     return(null);
 }
Exemple #4
0
        public static XMLTypeMetadata MapToXML(DTGTypeMetadata typeMetadata)
        {
            XMLTypeMetadata xmlTypeMetadata = new XMLTypeMetadata
            {
                TypeName              = typeMetadata.TypeName,
                DeclaringType         = EmitDeclaringTypeXML(typeMetadata.DeclaringType),
                Constructors          = SerializationMethodMapper.EmitMethodsXML(typeMetadata.Constructors),
                Methods               = SerializationMethodMapper.EmitMethodsXML(typeMetadata.Methods),
                NestedTypes           = EmitNestedTypesXML(typeMetadata.NestedTypes),
                ImplementedInterfaces = EmitImplementsXML(typeMetadata.ImplementedInterfaces),
                GenericArguments      = CheckGenericArgumentsXML(typeMetadata),
                BaseType              = EmitExtendsXML(typeMetadata.BaseType),
                Properties            = SerializationPropertyMapper.EmitPropertiesXML(typeMetadata.Properties),
                IsGenericType         = typeMetadata.IsGenericType
            };

            return(xmlTypeMetadata);
        }
Exemple #5
0
        public static XMLTypeMetadata FillTypeXML(XMLTypeMetadata dtg2TypeMetadata, DTGTypeMetadata typeMetadata)
        {
            dtg2TypeMetadata.TypeName              = typeMetadata.TypeName;
            dtg2TypeMetadata.DeclaringType         = EmitDeclaringTypeXML(typeMetadata.DeclaringType);
            dtg2TypeMetadata.Constructors          = SerializationMethodMapper.EmitMethodsXML(typeMetadata.Constructors);
            dtg2TypeMetadata.Methods               = SerializationMethodMapper.EmitMethodsXML(typeMetadata.Methods);
            dtg2TypeMetadata.NestedTypes           = EmitNestedTypesXML(typeMetadata.NestedTypes);
            dtg2TypeMetadata.ImplementedInterfaces = EmitImplementsXML(typeMetadata.ImplementedInterfaces);
            if (typeMetadata.GenericArguments != null)
            {
                dtg2TypeMetadata.GenericArguments = EmitGenericArgumentsXML(typeMetadata.GenericArguments);
            }
            else
            {
                dtg2TypeMetadata.GenericArguments = null;
            }
            //dtg2TypeMetadata.Modifiers = EmitModifiers(typeMetadata);
            dtg2TypeMetadata.BaseType   = EmitExtendsXML(typeMetadata.BaseType);
            dtg2TypeMetadata.Properties = SerializationPropertyMapper.EmitPropertiesXML(typeMetadata.Properties);

            return(dtg2TypeMetadata);
        }
Exemple #6
0
        internal static DTGTypeMetadata EmitReferenceDTG(XMLTypeMetadata type)
        {
            if (type == null)
            {
                return(null);
            }
            if (HelperDictonaries.TypeDictonaryToDTG.ContainsKey(type))
            {
                return(HelperDictonaries.TypeDictonaryToDTG[type]);
            }


            if (!type.IsGenericType)
            {
                HelperDictonaries.TypeDictonaryToDTG[type] = MapToDTG(type);

                return(HelperDictonaries.TypeDictonaryToDTG[type]);
            }
            else
            {
                return(MapToDTG(type));
            }
        }