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); }
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); }