Пример #1
0
        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));
        }
Пример #2
0
        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);
        }