public static Parameter CreateParameter(ParameterDefinition p, string jnitype, string rawtype) { // FIXME: safe to use CLR type name? assuming yes as we often use it in metadatamap. // FIXME: IsSender? var isEnumType = GetGeneratedEnumAttribute(p.CustomAttributes) != null; return(new Parameter(TypeNameUtilities.MangleName(p.Name), jnitype ?? p.ParameterType.FullNameCorrected().StripArity(), null, isEnumType, rawtype)); }
public static Parameter CreateParameter(XElement elem) { string managedName = elem.XGetAttribute("managedName"); string name = !string.IsNullOrEmpty(managedName) ? managedName : TypeNameUtilities.MangleName(EnsureValidIdentifer(elem.XGetAttribute("name"))); string java_type = elem.XGetAttribute("type"); string enum_type = elem.Attribute("enumType") != null?elem.XGetAttribute("enumType") : null; string managed_type = elem.Attribute("managedType") != null?elem.XGetAttribute("managedType") : null; // FIXME: "enum_type ?? java_type" should be extraneous. Somewhere in generator uses it improperly. var result = new Parameter(name, enum_type ?? java_type, enum_type ?? managed_type, enum_type != null, java_type); if (elem.Attribute("sender") != null) { result.IsSender = true; } return(result); }