/** * Convert the value() attribute of @NonNullByDefault into a bitvector a la {@link Binding#NullnessDefaultMASK}. * This method understands value encodings from source and binary types. * * <b>pre:</b> null annotation analysis is enabled */ public static int nullLocationBitsFromAnnotationValue(Object value) { if (value instanceof Object[]) { if (((Object[]) value).length == 0) { // ({}) return Binding.NULL_UNSPECIFIED_BY_DEFAULT; } else { // ({vals...}) int bits = 0; for (Object single : (Object[])value) bits |= evaluateDefaultNullnessLocation(single); return bits; } } else { // (val) return evaluateDefaultNullnessLocation(value); } }
/** * Convert the value() attribute of @NonNullByDefault into a bitvector a la {@link Binding#NullnessDefaultMASK}. * This method understands value encodings from source and binary types. * * <b>pre:</b> null annotation analysis is enabled */ public static int nullLocationBitsFromAnnotationValue(Object value) { if (value instanceof Object[]) { if (((Object[]) value).length == 0) { // ({}) return Binding.NULL_UNSPECIFIED_BY_DEFAULT; } else { // ({vals...}) int bits = 0; for (Object single : (Object[])value) bits |= evaluateDefaultNullnessLocation(single); return bits; } } else { // (val) return evaluateDefaultNullnessLocation(value); } }
/** * Convert the value() attribute of @NonNullByDefault into a bitvector a la {@link Binding#NullnessDefaultMASK}. * This method understands value encodings from source and binary types. * * <b>pre:</b> null annotation analysis is enabled */ public static int nullLocationBitsFromAnnotationValue(Object value) { if (value instanceof Object[]) { if (((Object[]) value).length == 0) { // ({}) return Binding.NULL_UNSPECIFIED_BY_DEFAULT; } else { // ({vals...}) int bits = 0; for (Object single : (Object[])value) bits |= evaluateDefaultNullnessLocation(single); return bits; } } else { // (val) return evaluateDefaultNullnessLocation(value); } }
/** * Convert the value() attribute of @NonNullByDefault into a bitvector a la {@link Binding#NullnessDefaultMASK}. * This method understands value encodings from source and binary types. * * <b>pre:</b> null annotation analysis is enabled */ public static int nullLocationBitsFromAnnotationValue(Object value) { if (value instanceof Object[]) { if (((Object[]) value).length == 0) { // ({}) return Binding.NULL_UNSPECIFIED_BY_DEFAULT; } else { // ({vals...}) int bits = 0; for (Object single : (Object[])value) bits |= evaluateDefaultNullnessLocation(single); return bits; } } else { // (val) return evaluateDefaultNullnessLocation(value); } }
/** * Convert the value() attribute of @NonNullByDefault into a bitvector a la {@link Binding#NullnessDefaultMASK}. * This method understands value encodings from source and binary types. * * <b>pre:</b> null annotation analysis is enabled */ public static int nullLocationBitsFromAnnotationValue(Object value) { if (value instanceof Object[]) { if (((Object[]) value).length == 0) { // ({}) return Binding.NULL_UNSPECIFIED_BY_DEFAULT; } else { // ({vals...}) int bits = 0; for (Object single : (Object[])value) bits |= evaluateDefaultNullnessLocation(single); return bits; } } else { // (val) return evaluateDefaultNullnessLocation(value); } }
/** * Convert the value() attribute of @NonNullByDefault into a bitvector a la {@link Binding#NullnessDefaultMASK}. * This method understands value encodings from source and binary types. * * <b>pre:</b> null annotation analysis is enabled */ public static int nullTagBitsFromAnnotationValue(Object value) { if (value instanceof Object[]) { if (((Object[]) value).length == 0) { return Binding.NULL_UNSPECIFIED_BY_DEFAULT; } else { int bits = 0; for (Object single : (Object[])value) bits |= evaluateDefaultNullnessLocation(single); return bits; } } else { return evaluateDefaultNullnessLocation(value); } }
/** * Convert the value() attribute of @NonNullByDefault into a bitvector a la {@link Binding#NullnessDefaultMASK}. * This method understands value encodings from source and binary types. * * <b>pre:</b> null annotation analysis is enabled */ public static int nullTagBitsFromAnnotationValue(Object value) { if (value instanceof Object[]) { if (((Object[]) value).length == 0) { return Binding.NULL_UNSPECIFIED_BY_DEFAULT; } else { int bits = 0; for (Object single : (Object[])value) bits |= evaluateDefaultNullnessLocation(single); return bits; } } else { return evaluateDefaultNullnessLocation(value); } }
/** * Convert the value() attribute of @NonNullByDefault into a bitvector a la {@link Binding#NullnessDefaultMASK}. * This method understands value encodings from source and binary types. * * <b>pre:</b> null annotation analysis is enabled */ public static int nullTagBitsFromAnnotationValue(Object value) { if (value instanceof Object[]) { if (((Object[]) value).length == 0) { return Binding.NULL_UNSPECIFIED_BY_DEFAULT; } else { int bits = 0; for (Object single : (Object[])value) bits |= evaluateDefaultNullnessLocation(single); return bits; } } else { return evaluateDefaultNullnessLocation(value); } }