AddAttribute (nclass, "type", classType);
if (type.BaseType != null)
- AddAttribute (nclass, "base", type.BaseType.FullName);
+ AddAttribute (nclass, "base", type.BaseType.ToString ());
if (type.IsSealed)
AddAttribute (nclass, "sealed", "true");
continue;
}
XmlNode iface = document.CreateElement ("interface", null);
- AddAttribute (iface, "name", t.FullName);
+ AddAttribute (iface, "name", t.ToString ());
ifaces.AppendChild (iface);
}
}
FieldData fd = new FieldData (document, nclass, fields);
// Special case for enum fields
if (classType == "enum") {
- string etype = fields [0].GetType ().FullName;
+ string etype = fields [0].GetType ().ToString ();
AddAttribute (nclass, "enumtype", etype);
}
members.Add (fd);
{
base.AddExtraData (p, member);
FieldInfo field = (FieldInfo) member;
- AddAttribute (p, "fieldtype", field.FieldType.FullName);
+ AddAttribute (p, "fieldtype", field.FieldType.ToString ());
if (field.IsLiteral) {
object value = field.GetValue (null);
{
base.AddExtraData (p, member);
PropertyInfo prop = (PropertyInfo) member;
- AddAttribute (p, "ptype", prop.PropertyType.FullName);
+ Type t = prop.PropertyType;
+ AddAttribute (p, "ptype", prop.PropertyType.ToString ());
MethodInfo _get = prop.GetGetMethod (true);
MethodInfo _set = prop.GetSetMethod (true);
bool haveGet = (_get != null && TypeData.MustDocumentMethod(_get));
{
base.AddExtraData (p, member);
EventInfo evt = (EventInfo) member;
- AddAttribute (p, "eventtype", evt.EventHandlerType.FullName);
+ AddAttribute (p, "eventtype", evt.EventHandlerType.ToString ());
}
public override string ParentTag {
protected override string GetMemberAttributes (MemberInfo member)
{
MethodBase method = (MethodBase) member;
- return ((int) method.Attributes).ToString (CultureInfo.InvariantCulture);
+ return ((int)( method.Attributes & ~MethodAttributes.ReservedMask)).ToString (CultureInfo.InvariantCulture);
}
protected override void AddExtraData (XmlNode p, MemberInfo member)
return;
MethodInfo method = (MethodInfo) member;
- AddAttribute (p, "returntype", method.ReturnType.FullName);
+ AddAttribute (p, "returntype", method.ReturnType.ToString ());
AttributeData.OutputAttributes (document, p,
method.ReturnTypeCustomAttributes.GetCustomAttributes (false));
}
Type t = parameter.ParameterType;
- AddAttribute (paramNode, "type", t.FullName);
+ AddAttribute (paramNode, "type", t.ToString ());
if (parameter.IsOptional) {
AddAttribute (paramNode, "optional", "true");
- if (parameter.DefaultValue != null)
- AddAttribute (paramNode, "defaultValue", parameter.DefaultValue.ToString ());
+ if (parameter.DefaultValue != System.DBNull.Value)
+ AddAttribute (paramNode, "defaultValue", (parameter.DefaultValue == null) ? "NULL" : parameter.DefaultValue.ToString ());
}
if (direction != "in")
continue;
XmlNode node = document.CreateElement ("attribute");
- AddAttribute (node, "name", t.FullName);
+ AddAttribute (node, "name", t.ToString ());
XmlNode properties = null;
foreach (PropertyInfo pi in TypeData.GetProperties (t)) {
else
modifier = "";
- string type_name = info.ParameterType.ToString ();
+ string type_name = info.ParameterType.ToString ().Replace ('<', '[').Replace ('>', ']');
sb.AppendFormat ("{0}{1}, ", modifier, type_name);
}