def from_reflectedfield(reflectedfield, name, cls): name = name my_type = reflectedfield.field.getType() modifiers = Modifier(reflectedfield.field.getModifiers()) value_repr = None has_value = False if modifiers.is_static and modifiers.is_final: try: value = getattr(cls, name) value_repr = pretty_repr(value) has_value = True except java.lang.IllegalArgumentException: pass return Field( name=name, my_type=BasicType.from_type(my_type), modifiers=modifiers, value_repr=value_repr, has_value=has_value, )