Ejemplo n.º 1
0
        public static Field CreateField(XElement elem)
        {
            var field = new Field {
                DeprecatedComment = elem.XGetAttribute("deprecated"),
                IsAcw             = true,
                IsDeprecated      = elem.XGetAttribute("deprecated") != "not deprecated",
                IsFinal           = elem.XGetAttribute("final") == "true",
                IsStatic          = elem.XGetAttribute("static") == "true",
                JavaName          = elem.XGetAttribute("name"),
                SetterParameter   = CreateParameter(elem),
                TypeName          = elem.XGetAttribute("type"),
                Value             = elem.XGetAttribute("value"),      // do not trim
                Visibility        = elem.XGetAttribute("visibility")
            };

            field.SetterParameter.Name = "value";

            if (elem.XGetAttribute("enumType") != null)
            {
                field.IsEnumified = true;
                field.TypeName    = elem.XGetAttribute("enumType");
            }

            if (elem.Attribute("managedName") != null)
            {
                field.Name = elem.XGetAttribute("managedName");
            }
            else
            {
                field.Name = TypeNameUtilities.StudlyCase(char.IsLower(field.JavaName [0]) || field.JavaName.ToLowerInvariant().ToUpperInvariant() != field.JavaName ? field.JavaName : field.JavaName.ToLowerInvariant());
                field.Name = EnsureValidIdentifer(field.Name);
            }

            return(field);
        }
Ejemplo n.º 2
0
        public static Field CreateField(GenBase declaringType, XElement elem, CodeGenerationOptions options = null)
        {
            var field = new Field {
                ApiAvailableSince = declaringType.ApiAvailableSince,
                DeprecatedComment = elem.XGetAttribute("deprecated"),
                IsAcw             = true,
                IsDeprecated      = elem.XGetAttribute("deprecated") != "not deprecated",
                IsDeprecatedError = elem.XGetAttribute("deprecated-error") == "true",
                IsFinal           = elem.XGetAttribute("final") == "true",
                IsStatic          = elem.XGetAttribute("static") == "true",
                JavaName          = elem.XGetAttribute("name"),
                JniSignature      = elem.XGetAttribute("jni-signature"),
                NotNull           = elem.XGetAttribute("not-null") == "true",
                SetterParameter   = CreateParameter(elem, options),
                TypeName          = elem.XGetAttribute("type"),
                Value             = elem.XGetAttribute("value"),      // do not trim
                Visibility        = elem.XGetAttribute("visibility")
            };

            field.SetterParameter.Name = "value";

            if (elem.XGetAttribute("enumType") != null)
            {
                field.IsEnumified = true;
                field.TypeName    = elem.XGetAttribute("enumType");
            }

            if (elem.Attribute("managedName") != null)
            {
                field.Name = elem.XGetAttribute("managedName");
            }
            else
            {
                field.Name = TypeNameUtilities.StudlyCase(char.IsLower(field.JavaName [0]) || field.JavaName.ToLowerInvariant().ToUpperInvariant() != field.JavaName ? field.JavaName : field.JavaName.ToLowerInvariant());
                field.Name = EnsureValidIdentifer(field.Name);
            }

            FillApiSince(field, elem);
            SetLineInfo(field, elem, options);

            return(field);
        }