JVM
methods.h
Go to the documentation of this file.
1 #ifndef METHODS_H
2 #define METHODS_H
3 
4 typedef struct method_info method_info;
5 
6 #include <stdint.h>
7 #include "javaclass.h"
8 #include "attributes.h"
9 
10 struct method_info {
11  uint16_t access_flags;
12  uint16_t name_index;
13  uint16_t descriptor_index;
14  uint16_t attributes_count;
16 };
17 
18 char readMethod(JavaClass* jc, method_info* entry);
20 void printMethods(JavaClass* jc);
21 
22 method_info* getMethodMatching(JavaClass* jc, const uint8_t* name, int32_t name_len, const uint8_t* descriptor,
23  int32_t descriptor_len, uint16_t flag_mask);
24 
25 #endif // METHODS_H
uint16_t descriptor_index
Definition: methods.h:13
uint16_t attributes_count
Definition: methods.h:14
void freeMethodAttributes(method_info *entry)
Releases attributes used by the method_info struct.
Definition: methods.c:91
uint16_t name_index
Definition: methods.h:12
Definition: attributes.h:9
void printMethods(JavaClass *jc)
Function to print all methods of the class file.
Definition: methods.c:111
char readMethod(JavaClass *jc, method_info *entry)
Reads a method_info from the file.
Definition: methods.c:16
uint16_t access_flags
Definition: methods.h:11
method_info * getMethodMatching(JavaClass *jc, const uint8_t *name, int32_t name_len, const uint8_t *descriptor, int32_t descriptor_len, uint16_t flag_mask)
Definition: methods.c:160
Definition: javaclass.h:96
attribute_info * attributes
Definition: methods.h:15
Definition: methods.h:10