/// <summary> /// Visits the specified primitive type. /// </summary> /// <param name="dataType">Data type.</param> /// <returns>A clone of the specified <see cref="DataType"/>.</returns> public DataType Visit(PrimitiveDataType dataType) { EnumDataType enumDataType = dataType as EnumDataType; if (enumDataType != null) { return(enumDataType.WithDefinition(new EnumTypeReference(enumDataType.Definition.NamespaceName, enumDataType.Definition.Name))); } else { return(dataType.Clone <PrimitiveDataType>()); } }
/// <summary> /// Visits the specified primitive type. /// </summary> /// <param name="dataType">Data type.</param> /// <returns>the data type with all references resolved</returns> public DataType Visit(PrimitiveDataType dataType) { EnumDataType enumDataType = dataType as EnumDataType; if (enumDataType != null) { EnumType resolved = this.parent.ResolveEnumTypeReference(this.model, enumDataType.Definition); return(enumDataType.WithDefinition(resolved)); } else { return(dataType); } }