Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }