48 #if !defined(ENABLE_ANNOTATIONS)
49 # error annotation support has to be enabled when compling this file!
76 if (bytearrays != NULL) {
80 if (size == oldsize) {
92 minsize = size < oldsize ? size : oldsize;
130 if (bytearray == NULL && bytearrays == NULL) {
137 if (bytearrays != NULL) {
141 if (bytearray == NULL) {
193 const char *errormsg_prefix) {
195 assert(attribute != NULL);
266 method_annotationdefaults,
271 "invalid annotation default method attribute"))
274 if (annotationdefault != NULL) {
277 annotationdefaults, slot, annotationdefault);
279 if (annotationdefaults == NULL) {
284 m->
clazz, method_annotationdefaults, annotationdefaults);
326 method_parameterannotations,
327 parameterannotations);
331 "invalid runtime visible parameter annotations method attribute"))
334 if (annotations != NULL) {
337 parameterannotations, slot, annotations);
339 if (parameterannotations == NULL) {
344 m->
clazz, method_parameterannotations, parameterannotations);
417 "invalid runtime visible annotations class attribute")) {
468 m->
clazz, method_annotations, method_annotations);
472 "invalid runtime visible annotations method attribute")) {
476 if (annotations != NULL) {
479 method_annotations, slot, annotations);
481 if (method_annotations == NULL) {
486 m->
clazz, method_annotations, method_annotations);
537 f->
clazz, field_annotations, field_annotations);
541 "invalid runtime visible annotations field attribute")) {
545 if (annotations != NULL) {
548 field_annotations, slot, annotations);
550 if (field_annotations == NULL) {
555 f->
clazz, field_annotations, field_annotations);
jlong jlong jlong jlong jint jmethodID jint slot
bool annotation_load_method_attribute_runtimevisibleparameterannotations(ClassBuffer &cb, methodinfo *m)
bool annotation_load_method_attribute_runtimevisibleannotations(ClassBuffer &cb, methodinfo *m)
virtual java_handle_array_t * get_handle() const
int8_t * get_raw_data_ptr()
Actual implementation of access class for Java Object arrays.
bool annotation_load_field_attribute_runtimeinvisibleannotations(ClassBuffer &cb, fieldinfo *f)
#define LLNI_CRITICAL_END
static classinfo * get_arrayclass_by_type(int type)
Returns the primitive array-class of the given type.
void set_element(int32_t index, T value)
void log_println(const char *text,...)
static bool annotation_load_attribute_body(ClassBuffer &cb, java_handle_bytearray_t **attribute, const char *errormsg_prefix)
JNIEnv jthread jobject jclass jlong size
bool loader_skip_attribute_body(ClassBuffer &cb)
bool annotation_load_method_attribute_annotationdefault(ClassBuffer &cb, methodinfo *m)
int32_t get_length() const
void read_nbytes(uint8_t *dst, size_t num_bytes)
Transfer block of classfile into a buffer.
static java_handle_objectarray_t * annotation_bytearrays_resize(java_handle_objectarray_t *bytearrays, uint32_t size)
#define LLNI_classinfo_field_get(cls, field, variable)
bool annotation_load_method_attribute_runtimeinvisibleannotations(ClassBuffer &cb, methodinfo *m)
#define LLNI_classinfo_field_set(cls, field, variable)
static java_handle_t * annotation_bytearrays_insert(java_handle_t *bytearrays, uint32_t index, java_handle_bytearray_t *bytearray)
classinfo * get_class() const
bool annotation_load_class_attribute_runtimevisibleannotations(ClassBuffer &cb)
#define LLNI_CRITICAL_START
bool annotation_load_field_attribute_runtimevisibleannotations(ClassBuffer &cb, fieldinfo *f)
bool check_size(size_t sz)
Assert that at least <sz> bytes are left to read.
#define MCOPY(dest, src, type, num)
bool annotation_load_class_attribute_runtimeinvisibleannotations(ClassBuffer &cb)
bool annotation_load_method_attribute_runtimeinvisibleparameterannotations(ClassBuffer &cb, methodinfo *m)
java_handle_t ** get_raw_data_ptr()