public static Parameter FromManagedParameter(ParameterDefinition p, string jnitype, string rawtype) { // FIXME: safe to use CLR type name? assuming yes as we often use it in metadatamap. // FIXME: IsSender? bool isEnumType = p.CustomAttributes.Any(c => c.AttributeType.Name == "GeneratedEnumAttribute"); return(new Parameter(SymbolTable.MangleName(p.Name), jnitype ?? p.ParameterType.FullNameCorrected(), null, isEnumType, rawtype)); }
public static Parameter FromElement(XmlElement elem) { string managedName = elem.XGetAttribute("managedName"); string name = !string.IsNullOrEmpty(managedName) ? managedName : SymbolTable.MangleName(elem.XGetAttribute("name")); string java_type = elem.XGetAttribute("type"); string enum_type = elem.HasAttribute("enumType") ? elem.XGetAttribute("enumType") : null; string managed_type = elem.HasAttribute("managedType") ? 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.HasAttribute("sender")) { result.IsSender = true; } return(result); }