TypeDef CreateTypeDef(QualifiedClassName qualifiedClassName, Type type) { var typeDef = IsCommand(type) ? new TypeDef(qualifiedClassName, GetTypeFor(typeof(Command)), TypeType.Command, type) : new TypeDef(qualifiedClassName, TypeType.Other); _types[type] = typeDef; foreach (var property in GetAllProperties(type)) { var propertyDef = new PropertyDef(GetOrCreateTypeDef(new QualifiedClassName(property.PropertyType), property.PropertyType), property.Name); if (typeDef.TypeType == TypeType.Command && propertyDef.Name == "Meta") continue; typeDef.AddProperty(propertyDef); } return typeDef; }
public void AddProperty(PropertyDef propertyDef) { _properties.Add(propertyDef); }