package com.lody.legend.art;
import com.lody.legend.utility.StructMapping;
import com.lody.legend.utility.StructMember;
import java.lang.reflect.Method;
/**
* @author Lody
* @version 1.0
*/
public class ArtMethodStructV19 extends ArtMethod {
@StructMapping(offset = 0)
private StructMember klass_;
@StructMapping(offset = 4)
private StructMember monitor_;
@StructMapping(offset = 8)
private StructMember declaring_class_;
@StructMapping(offset = 12)
private StructMember dex_cache_initialized_static_storage_;
@StructMapping(offset = 16)
private StructMember dex_cache_resolved_methods_;
@StructMapping(offset = 20)
private StructMember dex_cache_resolved_types_;
@StructMapping(offset = 24)
private StructMember dex_cache_strings_;
@StructMapping(offset = 28)
private StructMember access_flags_;
@StructMapping(offset = 32)
private StructMember code_item_offset_;
@StructMapping(offset = 36)
private StructMember core_spill_mask_;
@StructMapping(offset = 40)
private StructMember entry_point_from_compiled_code_;
@StructMapping(offset = 44)
private StructMember entry_point_from_interpreter_;
@StructMapping(offset = 48)
private StructMember fp_spill_mask_;
@StructMapping(offset = 52)
private StructMember frame_size_in_bytes_;
@StructMapping(offset = 56)
private StructMember gc_map_;
@StructMapping(offset = 60)
private StructMember mapping_table_;
@StructMapping(offset = 64)
private StructMember method_dex_index_;
@StructMapping(offset = 68)
private StructMember method_index_;
@StructMapping(offset = 72)
private StructMember native_method_;
@StructMapping(offset = 76)
private StructMember vmap_table_;
public ArtMethodStructV19(Method method) {
super(method);
}
@Override
public long getEntryPointFromInterpreter() {
return entry_point_from_interpreter_.readLong();
}
@Override
public void setEntryPointFromInterpreter(long pointer_entry_point_from_interpreter) {
entry_point_from_interpreter_.write(pointer_entry_point_from_interpreter);
}
@Override
public long getEntryPointFromJni() {
return native_method_.readLong();
}
@Override
public void setEntryPointFromJni(long pointer_entry_point_from_jni) {
native_method_.write(pointer_entry_point_from_jni);
}
@Override
public long getEntryPointFromQuickCompiledCode() {
return entry_point_from_compiled_code_.readLong();
}
@Override
public void setEntryPointFromQuickCompiledCode(long pointer_entry_point_from_quick_compiled_code) {
entry_point_from_compiled_code_.write(pointer_entry_point_from_quick_compiled_code);
}
@Override
public int getAccessFlags() {
return access_flags_.readInt();
}
@Override
public void setAccessFlags(int newFlags) {
access_flags_.write(newFlags);
}
@Override
public long getDeclaringClass() {
return declaring_class_.readLong();
}
@Override
public void setDeclaringClass(long declaringClass) {
declaring_class_.write(declaringClass);
}
@Override
public long getDexCacheResolvedMethods() {
return dex_cache_resolved_methods_.readLong();
}
@Override
public void setDexCacheResolvedMethods(long pointer_dex_cache_resolved_methods_) {
dex_cache_resolved_methods_.write(pointer_dex_cache_resolved_methods_);
}
@Override
public long getDexCacheResolvedTypes() {
return dex_cache_resolved_types_.readLong();
}
@Override
public void setDexCacheResolvedTypes(long pointer_dex_cache_resolved_types_) {
dex_cache_resolved_types_.write(pointer_dex_cache_resolved_types_);
}
@Override
public int getDexCodeItemOffset() {
return code_item_offset_.readInt();
}
@Override
public void setDexCodeItemOffset(int offset) {
code_item_offset_.write(offset);
}
@Override
public int getDexMethodIndex() {
return method_dex_index_.readInt();
}
@Override
public void setDexMethodIndex(int index) {
method_dex_index_.write(index);
}
@Override
public int getMethodIndex() {
return method_index_.readInt();
}
@Override
public void setMethodIndex(int index) {
method_index_.write(index);
}
public void setFrameSizeInBytes(int index) {
frame_size_in_bytes_.write(index);
}
public int getFrameSizeInBytes() {
return frame_size_in_bytes_.readInt();
}
public void setDexCacheInitializedStaticStorage(int index) {
dex_cache_initialized_static_storage_.write(index);
}
public int getDexCacheInitializedStaticStorage() {
return dex_cache_initialized_static_storage_.readInt();
}
public void setVmapTable(int index) {
vmap_table_.write(index);
}
public int getVmapTable() {
return vmap_table_.readInt();
}
public void setCoreSpillMask(int index) {
core_spill_mask_.write(index);
}
public int getCoreSpillMask() {
return core_spill_mask_.readInt();
}
public void setFpSpillMask(int index) {
fp_spill_mask_.write(index);
}
public int getFpSpillMask() {
return fp_spill_mask_.readInt();
}
public void setMappingTable(int index) {
mapping_table_.write(index);
}
public int getMappingTable() {
return mapping_table_.readInt();
}
public void setCodeItemOffset(int index) {
code_item_offset_.write(index);
}
public int getCodeItemOffset() {
return code_item_offset_.readInt();
}
// public void set
}