SYMBOL INDEX (732 symbols across 102 files) FILE: app/src/main/java/me/weishu/epic/samples/MainActivity.java class MainActivity (line 21) | public class MainActivity extends Activity { method onCreate (line 29) | @Override class MyAdapter (line 42) | private class MyAdapter extends BaseExpandableListAdapter { method getGroupCount (line 44) | @Override method getChildrenCount (line 49) | @Override method getGroup (line 54) | @Override method getChild (line 59) | @Override method getGroupId (line 64) | @Override method getChildId (line 69) | @Override method hasStableIds (line 74) | @Override method getGroupView (line 79) | @Override method getChildView (line 94) | @Override method isChildSelectable (line 124) | @Override FILE: app/src/main/java/me/weishu/epic/samples/MainApplication.java class MainApplication (line 9) | public class MainApplication extends Application { method getAppContext (line 13) | public static Context getAppContext() { method attachBaseContext (line 17) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/CallingConventationTest.java class CallingConventationTest (line 8) | public class CallingConventationTest { method longParams1 (line 10) | public static void longParams1() { method longParams2 (line 19) | public static void longParams2() { method longParams3 (line 27) | public static void longParams3() { FILE: app/src/main/java/me/weishu/epic/samples/tests/LogMethodHook.java class LogMethodHook (line 13) | public class LogMethodHook extends XC_MethodHook { method beforeHookedMethod (line 15) | @Override method afterHookedMethod (line 21) | @Override method paramToString (line 27) | private static String paramToString(MethodHookParam param) { FILE: app/src/main/java/me/weishu/epic/samples/tests/TestCase.java class TestCase (line 11) | public abstract class TestCase { method TestCase (line 16) | public TestCase(String name) { method test (line 20) | public abstract void test(); method predicate (line 22) | public abstract boolean predicate(); method validate (line 24) | public boolean validate() { method getName (line 38) | public String getName() { FILE: app/src/main/java/me/weishu/epic/samples/tests/TestManager.java class TestManager (line 72) | public class TestManager { method TestManager (line 77) | private TestManager() { method getInstance (line 81) | public static TestManager getInstance() { method addSuite (line 85) | public void addSuite(TestSuite suite) { method getAllSuites (line 89) | public List getAllSuites() { method initAllSuites (line 93) | private void initAllSuites() { FILE: app/src/main/java/me/weishu/epic/samples/tests/TestSuite.java class TestSuite (line 10) | public class TestSuite { method TestSuite (line 14) | public TestSuite(String name) { method addCase (line 18) | public void addCase(TestCase caze) { method getName (line 22) | public String getName() { method getAllCases (line 26) | public List getAllCases() { FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/AbsArgStaticCase.java class AbsArgStaticCase (line 19) | public abstract class AbsArgStaticCase extends TestCase { method AbsArgStaticCase (line 27) | public AbsArgStaticCase() { method test (line 37) | @Override method predicate (line 54) | @Override method getArguments (line 73) | private long[] getArguments() { method getTargetMethod (line 82) | protected Method getTargetMethod() { method getArgumentNumber (line 91) | protected int getArgumentNumber() { method makeCall (line 95) | protected void makeCall(long... args) { method nextLong (line 99) | private long nextLong() { method getParamsSignature (line 104) | private Class[] getParamsSignature() { method toHex (line 122) | private String[] toHex(long[] value) { FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic0.java class ArgStatic0 (line 13) | public class ArgStatic0 extends TestCase { method ArgStatic0 (line 17) | public ArgStatic0() { method test (line 21) | @Override method predicate (line 38) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic4.java class ArgStatic4 (line 8) | public class ArgStatic4 extends AbsArgStaticCase { method makeCall (line 10) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic44.java class ArgStatic44 (line 8) | public class ArgStatic44 extends AbsArgStaticCase { method makeCall (line 10) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic444.java class ArgStatic444 (line 11) | public class ArgStatic444 extends AbsArgStaticCase { method makeCall (line 13) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic4444.java class ArgStatic4444 (line 7) | public class ArgStatic4444 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic4448.java class ArgStatic4448 (line 7) | public class ArgStatic4448 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic448.java class ArgStatic448 (line 7) | public class ArgStatic448 extends AbsArgStaticCase { method makeCall (line 9) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic4484.java class ArgStatic4484 (line 7) | public class ArgStatic4484 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic4488.java class ArgStatic4488 (line 7) | public class ArgStatic4488 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic48.java class ArgStatic48 (line 8) | public class ArgStatic48 extends AbsArgStaticCase { method makeCall (line 10) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic484.java class ArgStatic484 (line 7) | public class ArgStatic484 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic4844.java class ArgStatic4844 (line 7) | public class ArgStatic4844 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic4848.java class ArgStatic4848 (line 7) | public class ArgStatic4848 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic488.java class ArgStatic488 (line 7) | public class ArgStatic488 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic4884.java class ArgStatic4884 (line 7) | public class ArgStatic4884 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic4888.java class ArgStatic4888 (line 7) | public class ArgStatic4888 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic8.java class ArgStatic8 (line 8) | public class ArgStatic8 extends AbsArgStaticCase { method makeCall (line 10) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic84.java class ArgStatic84 (line 8) | public class ArgStatic84 extends AbsArgStaticCase { method makeCall (line 10) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic844.java class ArgStatic844 (line 7) | public class ArgStatic844 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic8444.java class ArgStatic8444 (line 7) | public class ArgStatic8444 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic8448.java class ArgStatic8448 (line 7) | public class ArgStatic8448 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic848.java class ArgStatic848 (line 7) | public class ArgStatic848 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic8484.java class ArgStatic8484 (line 7) | public class ArgStatic8484 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic8488.java class ArgStatic8488 (line 7) | public class ArgStatic8488 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic88.java class ArgStatic88 (line 8) | public class ArgStatic88 extends AbsArgStaticCase { method makeCall (line 10) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic884.java class ArgStatic884 (line 7) | public class ArgStatic884 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic8844.java class ArgStatic8844 (line 7) | public class ArgStatic8844 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic8848.java class ArgStatic8848 (line 7) | public class ArgStatic8848 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic888.java class ArgStatic888 (line 7) | public class ArgStatic888 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic8884.java class ArgStatic8884 (line 7) | public class ArgStatic8884 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgStatic8888.java class ArgStatic8888 (line 7) | public class ArgStatic8888 extends AbsArgStaticCase { method makeCall (line 8) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/arguments/ArgumentTarget.java class ArgumentTarget (line 10) | public class ArgumentTarget { method arg0 (line 16) | public static void arg0() { method arg1 (line 20) | public static void arg1(int v1) { method arg1 (line 24) | public static void arg1(long v1) { method arg2 (line 28) | public static void arg2(int v1, int v2) { method arg2 (line 32) | public static void arg2(int v1, long v2) { method arg2 (line 36) | public static void arg2(long v1, int v2) { method arg2 (line 40) | public static void arg2(long v1, long v2) { method arg3 (line 44) | public static void arg3(int v1, int v2, int v3) { method arg3 (line 48) | public static void arg3(long v1, int v2, int v3) { method arg3 (line 52) | public static void arg3(int v1, long v2, int v3) { method arg3 (line 56) | public static void arg3(int v1, int v2, long v3) { method arg3 (line 60) | public static void arg3(long v1, long v2, int v3) { method arg3 (line 64) | public static void arg3(long v1, int v2, long v3) { method arg3 (line 68) | public static void arg3(int v1, long v2, long v3) { method arg3 (line 72) | public static void arg3(long v1, long v2, long v3) { method arg4 (line 76) | public static void arg4(int v1, int v2, int v3, int v4) { method arg4 (line 80) | public static void arg4(long v1, int v2, int v3, int v4) { method arg4 (line 84) | public static void arg4(int v1, long v2, int v3, int v4) { method arg4 (line 88) | public static void arg4(int v1, int v2, long v3, int v4) { method arg4 (line 92) | public static void arg4(int v1, int v2, int v3, long v4) { method arg4 (line 96) | public static void arg4(long v1, long v2, int v3, int v4) { method arg4 (line 100) | public static void arg4(long v1, int v2, long v3, int v4) { method arg4 (line 104) | public static void arg4(long v1, int v2, int v3, long v4) { method arg4 (line 108) | public static void arg4(int v1, long v2, long v3, int v4) { method arg4 (line 112) | public static void arg4(int v1, long v2, int v3, long v4) { method arg4 (line 116) | public static void arg4(int v1, int v2, long v3, long v4) { method arg4 (line 120) | public static void arg4(int v1, long v2, long v3, long v4) { method arg4 (line 124) | public static void arg4(long v1, int v2, long v3, long v4) { method arg4 (line 128) | public static void arg4(long v1, long v2, int v3, long v4) { method arg4 (line 132) | public static void arg4(long v1, long v2, long v3, int v4) { method arg4 (line 136) | public static void arg4(long v1, long v2, long v3, long v4) { method arg5 (line 140) | public static void arg5(int v1, int v2, int v3, int v4, int v5) { method arg5 (line 144) | public static void arg5(long v1, long v2, long v3, long v4, long v5) { method arg6 (line 148) | public static void arg6(int v1, int v2, int v3, int v4, int v5, int v6) { method arg6 (line 152) | public static void arg6(long v1, long v2, long v3, long v4, long v5, l... method arg7 (line 156) | public static void arg7(int v1, int v2, int v3, int v4, int v5, int v6... method arg7 (line 160) | public static void arg7(long v1, long v2, long v3, long v4, long v5, l... method iarg0 (line 168) | public void iarg0() { method iarg1 (line 172) | public void iarg1(int v1) { method iarg1 (line 176) | public void iarg1(long v1) { method iarg2 (line 180) | public void iarg2(int v1, int v2) { method iarg2 (line 184) | public void iarg2(int v1, long v2) { method iarg2 (line 188) | public void iarg2(long v1, long v2) { method iarg3 (line 192) | public void iarg3(int v1, int v2, int v3) { method iarg3 (line 196) | public void iarg3(long v1, int v2, int v3) { method iarg3 (line 200) | public void iarg3(int v1, long v2, int v3) { method iarg3 (line 204) | public void iarg3(int v1, int v2, long v3) { method iarg3 (line 208) | public void iarg3(long v1, long v2, int v3) { method iarg3 (line 212) | public void iarg3(long v1, int v2, long v3) { method iarg3 (line 216) | public void iarg3(int v1, long v2, long v3) { method iarg3 (line 220) | public void iarg3(long v1, long v2, long v3) { FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case.java type Case (line 7) | public interface Case { method hook (line 8) | void hook(); method validate (line 10) | boolean validate(Object... args); FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case1.java class Case1 (line 15) | public class Case1 implements Case { method hook (line 30) | @Override method validate (line 52) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case10_Default_Constructor.java class Case10_Default_Constructor (line 15) | public class Case10_Default_Constructor implements Case { method hook (line 19) | @Override method validate (line 31) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case11_SuspendAll.java class Case11_SuspendAll (line 16) | public class Case11_SuspendAll implements Case { method hook (line 20) | @Override method validate (line 40) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case12_MultiCallback.java class Case12_MultiCallback (line 11) | public class Case12_MultiCallback implements Case { method beforeHookedMethod (line 18) | @Override method afterHookedMethod (line 25) | @Override method beforeHookedMethod (line 34) | @Override method afterHookedMethod (line 41) | @Override method beforeHookedMethod (line 50) | @Override method afterHookedMethod (line 57) | @Override method hook (line 65) | @Override method validate (line 72) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case13_FastNative.java class Case13_FastNative (line 13) | public class Case13_FastNative implements Case { method hook (line 15) | @Override method validate (line 22) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case14_GC.java class Case14_GC (line 12) | public class Case14_GC implements Case { method hook (line 13) | @Override method validate (line 19) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case15_StopJit.java class Case15_StopJit (line 9) | public class Case15_StopJit implements Case { method hook (line 11) | @Override method validate (line 16) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case16_SameEntry.java class Case16_SameEntry (line 18) | public class Case16_SameEntry implements Case { method hook (line 21) | @Override method validate (line 63) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case17_SameMethod.java class Case17_SameMethod (line 12) | public class Case17_SameMethod implements Case { method hook (line 15) | @Override method validate (line 46) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case18_returnConst.java class Case18_returnConst (line 13) | public class Case18_returnConst implements Case { method hook (line 15) | @Override method validate (line 33) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case2.java class Case2 (line 7) | public class Case2 implements Case{ method hook (line 10) | @Override method validate (line 40) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case3.java class Case3 (line 12) | public class Case3 implements Case { method hook (line 15) | @Override method validate (line 32) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case4.java class Case4 (line 13) | public class Case4 implements Case { method hook (line 16) | @Override method validate (line 37) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case5.java class Case5 (line 18) | public class Case5 implements Case { method hook (line 19) | @Override method validate (line 52) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case6.java class Case6 (line 19) | public class Case6 implements Case { method hook (line 23) | @Override method validate (line 50) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case7.java class Case7 (line 14) | public class Case7 implements Case { method hook (line 18) | @Override method validate (line 32) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case8_Activity_onCreate.java class Case8_Activity_onCreate (line 14) | public class Case8_Activity_onCreate implements Case { method hook (line 17) | @Override method validate (line 34) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Case9_ThreadMonitor.java class Case9_ThreadMonitor (line 14) | public class Case9_ThreadMonitor implements Case { method hook (line 18) | @Override method validate (line 58) | @Override class MyThread (line 82) | static class MyThread extends Thread { method run (line 83) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/CaseManager.java class CaseManager (line 11) | public class CaseManager { method getInstance (line 17) | public static synchronized CaseManager getInstance() { method getCase (line 21) | public synchronized Case getCase(Class clazz) { method getCases (line 36) | public synchronized Set> getCases() { FILE: app/src/main/java/me/weishu/epic/samples/tests/custom/Target.java class Target (line 15) | public class Target { method Target (line 17) | public Target() { method test1 (line 20) | public int test1(Object a, int b) { method returnConst (line 38) | public int returnConst(int a) { method add (line 42) | public int add(int a, int b) { method plus (line 46) | public int plus(int a, int b) { method test3 (line 50) | public int test3(Object a, int b) { method test4 (line 55) | public static int test4(int a) { method add (line 60) | public static float add(int a, float b) { method test2 (line 64) | public static int test2(Object a, int b) { method longRunMethod (line 70) | public long longRunMethod() { method validate (line 75) | public static void validate() { FILE: app/src/main/java/me/weishu/epic/samples/tests/invoketype/InvokeConstructor.java class InvokeConstructor (line 12) | public class InvokeConstructor extends TestCase { method InvokeConstructor (line 16) | public InvokeConstructor() { method test (line 20) | @Override method predicate (line 37) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/invoketype/InvokeTypeTarget.java class InvokeTypeTarget (line 7) | public class InvokeTypeTarget { FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/BooleanType.java class BooleanType (line 11) | public class BooleanType extends TestCase { method BooleanType (line 16) | public BooleanType() { method test (line 20) | @Override method predicate (line 32) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/ByteType.java class ByteType (line 11) | public class ByteType extends TestCase { method ByteType (line 16) | public ByteType() { method test (line 20) | @Override method predicate (line 32) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/CharType.java class CharType (line 11) | public class CharType extends TestCase { method CharType (line 16) | public CharType() { method test (line 20) | @Override method predicate (line 33) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/CustomType.java class CustomType (line 11) | public class CustomType extends TestCase { method CustomType (line 16) | public CustomType() { method test (line 20) | @Override method predicate (line 32) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/DoubleType.java class DoubleType (line 11) | public class DoubleType extends TestCase { method DoubleType (line 16) | public DoubleType() { method test (line 20) | @Override method predicate (line 33) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/FloatType.java class FloatType (line 11) | public class FloatType extends TestCase { method FloatType (line 16) | public FloatType() { method test (line 20) | @Override method predicate (line 33) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/IntType.java class IntType (line 11) | public class IntType extends TestCase { method IntType (line 16) | public IntType() { method test (line 20) | @Override method predicate (line 33) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/LongType.java class LongType (line 11) | public class LongType extends TestCase { method LongType (line 16) | public LongType() { method test (line 20) | @Override method predicate (line 33) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/ReturnTypeTarget.java class ReturnTypeTarget (line 9) | public class ReturnTypeTarget { method returnVoid (line 12) | public static void returnVoid() { method returnByte (line 16) | public static byte returnByte(byte b) { method returnChar (line 21) | public static char returnChar(char c) { method returnShort (line 26) | public static short returnShort(short s) { method returnInt (line 31) | public static int returnInt(int i) { method returnLong (line 36) | public static long returnLong(long l) { method returnFloat (line 41) | public static float returnFloat(float f) { method returnDouble (line 46) | public static double returnDouble(double d) { method returnBoolean (line 51) | public static boolean returnBoolean(boolean b) { method returnString (line 56) | public static String returnString(String s) { method returnStringArray (line 61) | public static String[] returnStringArray(String[] a) { method returnCustom (line 66) | public static ReturnTypeTarget returnCustom(ReturnTypeTarget r) { FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/ShortType.java class ShortType (line 11) | public class ShortType extends TestCase { method ShortType (line 16) | public ShortType() { method test (line 20) | @Override method predicate (line 32) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/StringArrayType.java class StringArrayType (line 11) | public class StringArrayType extends TestCase { method StringArrayType (line 16) | public StringArrayType() { method test (line 20) | @Override method predicate (line 33) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/StringType.java class StringType (line 11) | public class StringType extends TestCase { method StringType (line 16) | public StringType() { method test (line 20) | @Override method predicate (line 33) | @Override FILE: app/src/main/java/me/weishu/epic/samples/tests/returntype/VoidType.java class VoidType (line 13) | public class VoidType extends TestCase { method VoidType (line 20) | public VoidType() { method test (line 24) | @Override method predicate (line 41) | @Override FILE: library/src/main/cpp/art.cpp function find_offset (line 29) | inline int find_offset(void* hay, int size, T needle) FILE: library/src/main/cpp/art.h type Runtime_7X (line 31) | struct Runtime_7X { type Runtime_8X (line 70) | struct Runtime_8X { type PartialRuntimeR (line 112) | struct PartialRuntimeR { type JavaVMExt (line 146) | struct JavaVMExt { function class (line 151) | class ArtHelper { FILE: library/src/main/cpp/epic.cpp class ScopedSuspendAll (line 53) | class ScopedSuspendAll {} class ScopedJitSuspend (line 58) | class ScopedJitSuspend {} function init_entries (line 82) | void init_entries(JNIEnv *env) { function jboolean (line 140) | jboolean epic_compile(JNIEnv *env, jclass, jobject method, jlong self) { function jlong (line 170) | jlong epic_suspendAll(JNIEnv *, jclass) { function epic_resumeAll (line 176) | void epic_resumeAll(JNIEnv* env, jclass, jlong obj) { function jlong (line 181) | jlong epic_stopJit(JNIEnv*, jclass) { function epic_startJit (line 187) | void epic_startJit(JNIEnv*, jclass, jlong obj) { function epic_disableMovingGc (line 192) | void epic_disableMovingGc(JNIEnv* env, jclass ,jint api) { function jboolean (line 197) | jboolean epic_munprotect(JNIEnv *env, jclass, jlong addr, jlong len) { function jboolean (line 211) | jboolean epic_cacheflush(JNIEnv *env, jclass, jlong addr, jlong len) { function epic_MakeInitializedClassVisibilyInitialized (line 227) | void epic_MakeInitializedClassVisibilyInitialized(JNIEnv *env, jclass, j... function epic_memcpy (line 233) | void epic_memcpy(JNIEnv *env, jclass, jlong src, jlong dest, jint length) { function epic_memput (line 241) | void epic_memput(JNIEnv *env, jclass, jbyteArray src, jlong dest) { function jbyteArray (line 253) | jbyteArray epic_memget(JNIEnv *env, jclass, jlong src, jint length) { function jlong (line 269) | jlong epic_mmap(JNIEnv *env, jclass, jint length) { function epic_munmap (line 279) | void epic_munmap(JNIEnv *env, jclass, jlong addr, jint length) { function jlong (line 286) | jlong epic_malloc(JNIEnv *env, jclass, jint size) { function jobject (line 294) | jobject epic_getobject(JNIEnv *env, jclass clazz, jlong self, jlong addr... function jlong (line 305) | jlong epic_getMethodAddress(JNIEnv *env, jclass clazz, jobject method) { function jboolean (line 313) | jboolean epic_isGetObjectAvaliable(JNIEnv *, jclass) { function jboolean (line 317) | jboolean epic_activate(JNIEnv* env, jclass jclazz, jlong jumpToAddress, ... function registerNativeMethods (line 388) | static int registerNativeMethods(JNIEnv *env, const char *className, function JNIEXPORT (line 403) | JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { FILE: library/src/main/cpp/fake_dlfcn.cpp type ctx (line 59) | struct ctx { function fake_dlclose (line 69) | static int fake_dlclose(void *handle) { type ctx (line 83) | struct ctx type ctx (line 120) | struct ctx type ctx (line 120) | struct ctx type ctx (line 246) | struct ctx type ctx (line 246) | struct ctx function get_sdk_level (line 268) | static int get_sdk_level() { function dlclose_ex (line 278) | int dlclose_ex(void *handle) { FILE: library/src/main/java/com/taobao/android/dexposed/ClassUtils.java class ClassUtils (line 43) | public class ClassUtils { method addAbbreviation (line 115) | private static void addAbbreviation(String primitive, String abbreviat... method ClassUtils (line 142) | public ClassUtils() { method getShortClassName (line 155) | public static String getShortClassName(Object object, String valueIfNu... method getShortClassName (line 172) | public static String getShortClassName(Class cls) { method getShortClassName (line 191) | public static String getShortClassName(String className) { method getSimpleName (line 235) | public static String getSimpleName(Class cls) { method getSimpleName (line 251) | public static String getSimpleName(Object object, String valueIfNull) { method getPackageName (line 267) | public static String getPackageName(Object object, String valueIfNull) { method getPackageName (line 280) | public static String getPackageName(Class cls) { method getPackageName (line 296) | public static String getPackageName(String className) { method getAllSuperclasses (line 326) | public static List> getAllSuperclasses(Class cls) { method getAllInterfaces (line 352) | public static List> getAllInterfaces(Class cls) { method getAllInterfaces (line 369) | private static void getAllInterfaces(Class cls, HashSet> i... method convertClassNamesToClasses (line 397) | public static List> convertClassNamesToClasses(List c... method convertClassesToClassNames (line 424) | public static List convertClassesToClassNames(List> c... method getClass (line 453) | public static Class getClass( method getClass (line 494) | public static Class getClass(ClassLoader classLoader, String classN... method getClass (line 509) | public static Class getClass(String className) throws ClassNotFound... method getClass (line 524) | public static Class getClass(String className, boolean initialize) ... method toCanonicalName (line 537) | private static String toCanonicalName(String className) { method toClass (line 568) | public static Class[] toClass(Object... array) { method deleteWhitespace (line 597) | public static String deleteWhitespace(String str) { method isEmpty (line 636) | public static boolean isEmpty(CharSequence cs) { FILE: library/src/main/java/com/taobao/android/dexposed/DeviceCheck.java class DeviceCheck (line 30) | public class DeviceCheck { method isDalvikMode (line 40) | private static boolean isDalvikMode() { method getCurrentRuntimeValue (line 48) | private static String getCurrentRuntimeValue() { method isSupportSDKVersion (line 86) | private static boolean isSupportSDKVersion() { method isX86CPU (line 95) | private static boolean isX86CPU() { method isDeviceSupport (line 135) | public static synchronized boolean isDeviceSupport(Context context) { method isYunOS (line 153) | @SuppressLint("DefaultLocale") FILE: library/src/main/java/com/taobao/android/dexposed/utility/Debug.java class Debug (line 30) | public final class Debug { method Debug (line 36) | private Debug() { method addrHex (line 39) | public static String addrHex(long i) { method longHex (line 51) | public static String longHex(long i) { method intHex (line 55) | public static String intHex(int i) { method byteHex (line 59) | public static String byteHex(byte b) { method dump (line 63) | public static String dump(byte[] b, long start) { method hexdump (line 76) | public static String hexdump(byte[] bytes, long start) { method methodDescription (line 93) | public static String methodDescription(Method method) { method dumpMaps (line 99) | public static void dumpMaps() { FILE: library/src/main/java/com/taobao/android/dexposed/utility/Logger.java class Logger (line 8) | public class Logger { method i (line 14) | public static void i(String tag, String msg) { method d (line 20) | public static void d(String tagSuffix, String msg) { method w (line 26) | public static void w(String tag, String msg) { method e (line 30) | public static void e(String tag, String msg) { method e (line 36) | public static void e(String tag, String msg, Throwable e) { FILE: library/src/main/java/com/taobao/android/dexposed/utility/NeverCalled.java class NeverCalled (line 9) | public class NeverCalled { method fake (line 10) | private void fake(int a) { FILE: library/src/main/java/com/taobao/android/dexposed/utility/NougatPolicy.java class NougatPolicy (line 9) | public class NougatPolicy { class TraceLogger (line 11) | private static class TraceLogger { method i (line 12) | static void i(String tag, String msg) { method e (line 15) | static void e(String tag, String msg) { method e (line 18) | static void e(String tag, String msg, Throwable e) { method fullCompile (line 25) | public static boolean fullCompile(Context context) { method clearCompileData (line 54) | public static boolean clearCompileData(Context context) { method getPackageManagerBinderProxy (line 68) | private static Object getPackageManagerBinderProxy() throws Exception { FILE: library/src/main/java/com/taobao/android/dexposed/utility/Platform.java class Platform (line 23) | public abstract class Platform { method getPlatform (line 35) | public static Platform getPlatform() { method orderByteToInt (line 46) | public abstract int orderByteToInt(byte[] data); method orderByteToLong (line 55) | public abstract long orderByteToLong(byte[] data); method orderLongToByte (line 57) | public abstract byte[] orderLongToByte(long serial, int length); method orderIntToByte (line 59) | public abstract byte[] orderIntToByte(int serial); method getIntSize (line 61) | public abstract int getIntSize(); class Platform32Bit (line 64) | static class Platform32Bit extends Platform { method orderByteToInt (line 66) | @Override method orderByteToLong (line 71) | @Override method orderLongToByte (line 76) | @Override method orderIntToByte (line 81) | @Override method getIntSize (line 86) | @Override class Platform64Bit (line 94) | static class Platform64Bit extends Platform { method orderByteToInt (line 96) | @Override method orderByteToLong (line 101) | @Override method orderLongToByte (line 106) | @Override method orderIntToByte (line 111) | @Override method getIntSize (line 116) | @Override FILE: library/src/main/java/com/taobao/android/dexposed/utility/Runtime.java class Runtime (line 26) | public class Runtime { method is64Bit (line 46) | public static boolean is64Bit() { method isArt (line 50) | public static boolean isArt() { method isThumb2 (line 54) | public static boolean isThumb2() { FILE: library/src/main/java/com/taobao/android/dexposed/utility/Unsafe.java class Unsafe (line 23) | public final class Unsafe { method Unsafe (line 46) | private Unsafe() { method arrayBaseOffset (line 49) | @SuppressWarnings("unchecked") method arrayIndexScale (line 59) | @SuppressWarnings("unchecked") method objectFieldOffset (line 69) | @SuppressWarnings("unchecked") method getInt (line 79) | @SuppressWarnings("unchecked") method getLong (line 89) | @SuppressWarnings("unchecked") method putLong (line 99) | @SuppressWarnings("unchecked") method putInt (line 112) | @SuppressWarnings("unchecked") method getObjectAddress (line 125) | public static long getObjectAddress(Object obj) { method getObject (line 144) | public static Object getObject(long address) { FILE: library/src/main/java/de/robv/android/xposed/DexposedBridge.java class DexposedBridge (line 47) | public final class DexposedBridge { method log (line 81) | public synchronized static void log(String text) { method log (line 90) | public synchronized static void log(Throwable t) { method hookMethod (line 100) | public static XC_MethodHook.Unhook hookMethod(Member hookMethod, XC_Me... method unhookMethod (line 152) | public static void unhookMethod(Member hookMethod, XC_MethodHook callb... method hookAllMethods (line 162) | public static Set hookAllMethods(Class hookCl... method findAndHookMethod (line 170) | public static XC_MethodHook.Unhook findAndHookMethod(Class clazz, S... method unhookAllMethods (line 183) | public static void unhookAllMethods() { method hookAllConstructors (line 192) | public static Set hookAllConstructors(Class h... method handleHookedArtMethod (line 200) | public static Object handleHookedArtMethod(Object artMethodObject, Obj... method throwNoCheck (line 307) | @SuppressWarnings("unchecked") method handleHookedMethod (line 315) | private static Object handleHookedMethod(Member method, int originalMe... method invokeSuperNative (line 394) | private native static Object invokeSuperNative(Object obj, Object[] ar... method invokeSuper (line 399) | public static Object invokeSuper(Object obj, Member method, Object... ... method hookMethodNative (line 424) | private native synchronized static void hookMethodNative(Member method... method invokeOriginalMethodNative (line 426) | private native static Object invokeOriginalMethodNative(Member method,... method invokeOriginalMethod (line 451) | public static Object invokeOriginalMethod(Member method, Object thisOb... class CopyOnWriteSortedSet (line 485) | public static class CopyOnWriteSortedSet { method add (line 488) | public synchronized boolean add(E e) { method remove (line 501) | public synchronized boolean remove(E e) { method clear (line 513) | public synchronized void clear(){ method indexOf (line 517) | private int indexOf(Object o) { method getSnapshot (line 525) | public Object[] getSnapshot() { class AdditionalHookInfo (line 530) | private static class AdditionalHookInfo { method AdditionalHookInfo (line 535) | private AdditionalHookInfo(CopyOnWriteSortedSet callb... FILE: library/src/main/java/me/weishu/epic/art/Epic.java class Epic (line 42) | public final class Epic { method hookMethod (line 74) | public static boolean hookMethod(Constructor origin) { method hookMethod (line 78) | public static boolean hookMethod(Method origin) { method hookMethod (line 83) | private static boolean hookMethod(ArtMethod artOrigin) { method getBackMethod (line 176) | public synchronized static ArtMethod getBackMethod(ArtMethod origin) { method setBackMethod (line 181) | public static synchronized void setBackMethod(ArtMethod origin, ArtMet... method getMethodInfo (line 186) | public static MethodInfo getMethodInfo(long address) { method getQuickCompiledCodeSize (line 190) | public static int getQuickCompiledCodeSize(ArtMethod method) { class MethodInfo (line 201) | public static class MethodInfo { method toString (line 208) | @Override class EntryLock (line 214) | private static class EntryLock { method obtain (line 217) | static synchronized EntryLock obtain(long entry) { FILE: library/src/main/java/me/weishu/epic/art/EpicNative.java class EpicNative (line 33) | public final class EpicNative { method mmap (line 47) | public static native long mmap(int length); method munmap (line 49) | public static native boolean munmap(long address, int length); method memcpy (line 51) | public static native void memcpy(long src, long dest, int length); method memput (line 53) | public static native void memput(byte[] bytes, long dest); method memget (line 55) | public static native byte[] memget(long src, int length); method munprotect (line 57) | public static native boolean munprotect(long addr, long len); method getMethodAddress (line 59) | public static native long getMethodAddress(Member method); method MakeInitializedClassVisibilyInitialized (line 61) | public static native void MakeInitializedClassVisibilyInitialized(long... method cacheflush (line 63) | public static native boolean cacheflush(long addr, long len); method malloc (line 65) | public static native long malloc(int sizeOfPtr); method getObjectNative (line 67) | public static native Object getObjectNative(long self, long address); method isGetObjectAvailable (line 69) | private static native boolean isGetObjectAvailable(); method getObject (line 71) | public static Object getObject(long self, long address) { method compileMethod (line 79) | public static native boolean compileMethod(Member method, long self); method suspendAll (line 85) | public static native long suspendAll(); method resumeAll (line 92) | public static native void resumeAll(long cookie); method stopJit (line 99) | public static native long stopJit(); method startJit (line 106) | public static native void startJit(long cookie); method activateNative (line 109) | static native boolean activateNative(long jumpToAddress, long pc, long... method disableMovingGc (line 116) | public static native void disableMovingGc(int api); method EpicNative (line 119) | private EpicNative() { method compileMethod (line 122) | public static boolean compileMethod(Member method) { method getObject (line 127) | public static Object getObject(long address) { method MakeInitializedClassVisibilyInitialized (line 132) | public static void MakeInitializedClassVisibilyInitialized() { method map (line 137) | public static long map(int length) { method unmap (line 143) | public static boolean unmap(long address, int length) { method put (line 148) | public static void put(byte[] bytes, long dest) { method get (line 156) | public static byte[] get(long src, int length) { method unprotect (line 163) | public static boolean unprotect(long addr, long len) { method copy (line 168) | public static void copy(long src, long dst, int length) { FILE: library/src/main/java/me/weishu/epic/art/Trampoline.java class Trampoline (line 32) | class Trampoline { method Trampoline (line 45) | Trampoline(ShellCode shellCode, long entryPoint) { method install (line 51) | public boolean install(ArtMethod originMethod){ method getTrampolineAddress (line 74) | private long getTrampolineAddress() { method getTrampolinePc (line 81) | private long getTrampolinePc() { method alloc (line 85) | private void alloc() { method free (line 94) | private void free() { method getSize (line 106) | private int getSize() { method create (line 113) | private byte[] create() { method activate (line 131) | private boolean activate() { method finalize (line 140) | @Override method createTrampoline (line 146) | private byte[] createTrampoline(ArtMethod source){ FILE: library/src/main/java/me/weishu/epic/art/arch/Arm64.java class Arm64 (line 21) | public class Arm64 extends ShellCode { method sizeOfDirectJump (line 23) | @Override method createDirectJump (line 28) | @Override method createBridgeJump (line 40) | @Override method sizeOfBridgeJump (line 84) | @Override method toPC (line 90) | @Override method toMem (line 95) | @Override method getName (line 100) | @Override FILE: library/src/main/java/me/weishu/epic/art/arch/Arm64_2.java class Arm64_2 (line 21) | public class Arm64_2 extends ShellCode { method sizeOfDirectJump (line 23) | @Override method createDirectJump (line 28) | @Override method createBridgeJump (line 40) | @Override method sizeOfBridgeJump (line 106) | @Override method toPC (line 112) | @Override method toMem (line 117) | @Override method getName (line 122) | @Override FILE: library/src/main/java/me/weishu/epic/art/arch/ShellCode.java class ShellCode (line 22) | public abstract class ShellCode { method createDirectJump (line 24) | public abstract byte[] createDirectJump(long targetAddress); method sizeOfDirectJump (line 26) | public abstract int sizeOfDirectJump(); method toPC (line 28) | public abstract long toPC(long code); method toMem (line 30) | public abstract long toMem(long pc); method createCallOrigin (line 32) | public byte[] createCallOrigin(long originalAddress, byte[] originalPr... method sizeOfCallOrigin (line 40) | public int sizeOfCallOrigin() { method sizeOfBridgeJump (line 44) | public abstract int sizeOfBridgeJump(); method createBridgeJump (line 46) | public byte[] createBridgeJump(long targetAddress, long targetEntry, l... method writeInt (line 50) | static void writeInt(int i, ByteOrder order, byte[] target, int pos) { method writeLong (line 54) | static void writeLong(long i, ByteOrder order, byte[] target, int pos) { method getName (line 58) | public abstract String getName(); FILE: library/src/main/java/me/weishu/epic/art/arch/Thumb2.java class Thumb2 (line 22) | public class Thumb2 extends ShellCode { method sizeOfDirectJump (line 24) | @Override method createDirectJump (line 29) | @Override method createBridgeJump (line 40) | @Override method sizeOfBridgeJump (line 107) | @Override method toPC (line 112) | @Override method toMem (line 117) | @Override method getName (line 122) | @Override FILE: library/src/main/java/me/weishu/epic/art/entry/Entry.java class Entry (line 36) | @SuppressWarnings({"unused", "ConstantConditions"}) method onHookInt (line 44) | private static int onHookInt(Object artmethod, Object receiver, Object... method onHookLong (line 48) | private static long onHookLong(Object artmethod, Object receiver, Obje... method onHookDouble (line 52) | private static double onHookDouble(Object artmethod, Object receiver, ... method onHookChar (line 56) | private static char onHookChar(Object artmethod, Object receiver, Obje... method onHookShort (line 60) | private static short onHookShort(Object artmethod, Object receiver, Ob... method onHookFloat (line 64) | private static float onHookFloat(Object artmethod, Object receiver, Ob... method onHookObject (line 68) | private static Object onHookObject(Object artmethod, Object receiver, ... method onHookVoid (line 72) | private static void onHookVoid(Object artmethod, Object receiver, Obje... method onHookBoolean (line 76) | private static boolean onHookBoolean(Object artmethod, Object receiver... method onHookByte (line 80) | private static byte onHookByte(Object artmethod, Object receiver, Obje... method voidBridge (line 86) | private static void voidBridge(int r1, int self, int struct) { method booleanBridge (line 90) | private static boolean booleanBridge(int r1, int self, int struct) { method byteBridge (line 94) | private static byte byteBridge(int r1, int self, int struct) { method shortBridge (line 98) | private static short shortBridge(int r1, int self, int struct) { method charBridge (line 102) | private static char charBridge(int r1, int self, int struct) { method intBridge (line 106) | private static int intBridge(int r1, int self, int struct) { method longBridge (line 110) | private static long longBridge(int r1, int self, int struct) { method floatBridge (line 114) | private static float floatBridge(int r1, int self, int struct) { method doubleBridge (line 118) | private static double doubleBridge(int r1, int self, int struct) { method referenceBridge (line 123) | private static Object referenceBridge(int r1, int self, int struct) { method constructArguments (line 206) | private static Pair constructArguments(Epic.MethodIn... method wrapArgument (line 372) | private static Object wrapArgument(Class type, int self, byte[] val... method getBridgeMethod (line 415) | public static Method getBridgeMethod(Class returnType) { method getTypeLength (line 427) | private static int getTypeLength(Class clazz) { FILE: library/src/main/java/me/weishu/epic/art/entry/Entry64.java class Entry64 (line 33) | @SuppressWarnings({"unused", "ConstantConditions"}) method onHookInt (line 39) | private static int onHookInt(Object artmethod, Object receiver, Object... method onHookLong (line 43) | private static long onHookLong(Object artmethod, Object receiver, Obje... method onHookDouble (line 47) | private static double onHookDouble(Object artmethod, Object receiver, ... method onHookChar (line 51) | private static char onHookChar(Object artmethod, Object receiver, Obje... method onHookShort (line 55) | private static short onHookShort(Object artmethod, Object receiver, Ob... method onHookFloat (line 59) | private static float onHookFloat(Object artmethod, Object receiver, Ob... method onHookObject (line 63) | private static Object onHookObject(Object artmethod, Object receiver, ... method onHookVoid (line 67) | private static void onHookVoid(Object artmethod, Object receiver, Obje... method onHookBoolean (line 71) | private static boolean onHookBoolean(Object artmethod, Object receiver... method onHookByte (line 75) | private static byte onHookByte(Object artmethod, Object receiver, Obje... method voidBridge (line 81) | private static void voidBridge(long r1, long self, long struct, long x... method booleanBridge (line 85) | private static boolean booleanBridge(long r1, long self, long struct, ... method byteBridge (line 89) | private static byte byteBridge(long r1, long self, long struct, long x... method shortBridge (line 93) | private static short shortBridge(long r1, long self, long struct, long... method charBridge (line 97) | private static char charBridge(long r1, long self, long struct, long x... method intBridge (line 101) | private static int intBridge(long r1, long self, long struct, long x4,... method longBridge (line 105) | private static long longBridge(long r1, long self, long struct, long x... method floatBridge (line 109) | private static float floatBridge(long r1, long self, long struct, long... method doubleBridge (line 113) | private static double doubleBridge(long r1, long self, long struct, lo... method referenceBridge (line 118) | private static Object referenceBridge(long x1, long self, long struct,... method wrapArgument (line 243) | private static Object wrapArgument(Class type, long self, long valu... method wrapArgument (line 247) | private static Object wrapArgument(Class type, long self, byte[] va... method getBridgeMethod (line 288) | public static Method getBridgeMethod(Class returnType) { FILE: library/src/main/java/me/weishu/epic/art/entry/Entry64_2.java class Entry64_2 (line 34) | @SuppressWarnings({"unused", "ConstantConditions"}) method onHookInt (line 40) | private static int onHookInt(Object artmethod, Object receiver, Object... method onHookLong (line 44) | private static long onHookLong(Object artmethod, Object receiver, Obje... method onHookDouble (line 48) | private static double onHookDouble(Object artmethod, Object receiver, ... method onHookChar (line 52) | private static char onHookChar(Object artmethod, Object receiver, Obje... method onHookShort (line 56) | private static short onHookShort(Object artmethod, Object receiver, Ob... method onHookFloat (line 60) | private static float onHookFloat(Object artmethod, Object receiver, Ob... method onHookObject (line 64) | private static Object onHookObject(Object artmethod, Object receiver, ... method onHookVoid (line 68) | private static void onHookVoid(Object artmethod, Object receiver, Obje... method onHookBoolean (line 72) | private static boolean onHookBoolean(Object artmethod, Object receiver... method onHookByte (line 76) | private static byte onHookByte(Object artmethod, Object receiver, Obje... method voidBridge (line 82) | private static void voidBridge(long x1, long struct) { method voidBridge (line 86) | private static void voidBridge(long x1, long struct, long x3) { method voidBridge (line 90) | private static void voidBridge(long x1, long struct, long x3, long x4) { method voidBridge (line 94) | private static void voidBridge(long r1, long struct, long x3, long x4,... method voidBridge (line 98) | private static void voidBridge(long r1, long struct, long x3, long x4,... method voidBridge (line 102) | private static void voidBridge(long r1, long struct, long x3, long x4,... method booleanBridge (line 108) | private static boolean booleanBridge(long x1, long struct) { method booleanBridge (line 112) | private static boolean booleanBridge(long x1, long struct, long x3) { method booleanBridge (line 116) | private static boolean booleanBridge(long x1, long struct, long x3, lo... method booleanBridge (line 120) | private static boolean booleanBridge(long r1, long struct, long x3, lo... method booleanBridge (line 124) | private static boolean booleanBridge(long r1, long struct, long x3, lo... method booleanBridge (line 128) | private static boolean booleanBridge(long r1, long struct, long x3, lo... method byteBridge (line 134) | private static byte byteBridge(long x1, long struct) { method byteBridge (line 138) | private static byte byteBridge(long x1, long struct, long x3) { method byteBridge (line 142) | private static byte byteBridge(long x1, long struct, long x3, long x4) { method byteBridge (line 146) | private static byte byteBridge(long r1, long struct, long x3, long x4,... method byteBridge (line 150) | private static byte byteBridge(long r1, long struct, long x3, long x4,... method byteBridge (line 154) | private static byte byteBridge(long r1, long struct, long x3, long x4,... method shortBridge (line 160) | private static short shortBridge(long x1, long struct) { method shortBridge (line 164) | private static short shortBridge(long x1, long struct, long x3) { method shortBridge (line 168) | private static short shortBridge(long x1, long struct, long x3, long x... method shortBridge (line 172) | private static short shortBridge(long r1, long struct, long x3, long x... method shortBridge (line 176) | private static short shortBridge(long r1, long struct, long x3, long x... method shortBridge (line 180) | private static short shortBridge(long r1, long struct, long x3, long x... method charBridge (line 186) | private static char charBridge(long x1, long struct) { method charBridge (line 190) | private static char charBridge(long x1, long struct, long x3) { method charBridge (line 194) | private static char charBridge(long x1, long struct, long x3, long x4) { method charBridge (line 198) | private static char charBridge(long r1, long struct, long x3, long x4,... method charBridge (line 202) | private static char charBridge(long r1, long struct, long x3, long x4,... method charBridge (line 206) | private static char charBridge(long r1, long struct, long x3, long x4,... method intBridge (line 212) | private static int intBridge(long x1, long struct) { method intBridge (line 216) | private static int intBridge(long x1, long struct, long x3) { method intBridge (line 220) | private static int intBridge(long x1, long struct, long x3, long x4) { method intBridge (line 224) | private static int intBridge(long r1, long struct, long x3, long x4, l... method intBridge (line 228) | private static int intBridge(long r1, long struct, long x3, long x4, l... method intBridge (line 232) | private static int intBridge(long r1, long struct, long x3, long x4, l... method longBridge (line 238) | private static long longBridge(long x1, long struct) { method longBridge (line 242) | private static long longBridge(long x1, long struct, long x3) { method longBridge (line 246) | private static long longBridge(long x1, long struct, long x3, long x4) { method longBridge (line 250) | private static long longBridge(long r1, long struct, long x3, long x4,... method longBridge (line 254) | private static long longBridge(long r1, long struct, long x3, long x4,... method longBridge (line 258) | private static long longBridge(long r1, long struct, long x3, long x4,... method floatBridge (line 264) | private static float floatBridge(long x1, long struct) { method floatBridge (line 268) | private static float floatBridge(long x1, long struct, long x3) { method floatBridge (line 272) | private static float floatBridge(long x1, long struct, long x3, long x... method floatBridge (line 276) | private static float floatBridge(long r1, long struct, long x3, long x... method floatBridge (line 280) | private static float floatBridge(long r1, long struct, long x3, long x... method floatBridge (line 284) | private static float floatBridge(long r1, long struct, long x3, long x... method doubleBridge (line 290) | private static double doubleBridge(long x1, long struct) { method doubleBridge (line 294) | private static double doubleBridge(long x1, long struct, long x3) { method doubleBridge (line 298) | private static double doubleBridge(long x1, long struct, long x3, long... method doubleBridge (line 302) | private static double doubleBridge(long r1, long struct, long x3, long... method doubleBridge (line 306) | private static double doubleBridge(long r1, long struct, long x3, long... method doubleBridge (line 310) | private static double doubleBridge(long r1, long struct, long x3, long... method referenceBridge (line 316) | private static Object referenceBridge(long x1, long struct) { method referenceBridge (line 320) | private static Object referenceBridge(long x1, long struct, long x3) { method referenceBridge (line 324) | private static Object referenceBridge(long x1, long struct, long x3, l... method referenceBridge (line 328) | private static Object referenceBridge(long r1, long struct, long x3, l... method referenceBridge (line 332) | private static Object referenceBridge(long r1, long struct, long x3, l... method referenceBridge (line 337) | private static Object referenceBridge(long x1, long struct, long x3, l... method wrapArgument (line 456) | private static Object wrapArgument(Class type, long self, long valu... method wrapArgument (line 460) | private static Object wrapArgument(Class type, long self, byte[] va... method getBridgeMethod (line 501) | public static Method getBridgeMethod(Epic.MethodInfo methodInfo) { FILE: library/src/main/java/me/weishu/epic/art/method/ArtMethod.java class ArtMethod (line 41) | public class ArtMethod { method ArtMethod (line 73) | private ArtMethod(Constructor constructor) { method ArtMethod (line 81) | private ArtMethod(Method method, long address) { method init (line 93) | private void init() { method of (line 101) | public static ArtMethod of(Method method) { method of (line 105) | public static ArtMethod of(Method method, long address) { method of (line 109) | public static ArtMethod of(Constructor constructor) { method backup (line 114) | public ArtMethod backup() { method isAccessible (line 193) | public boolean isAccessible() { method setAccessible (line 205) | public void setAccessible(boolean accessible) { method getName (line 217) | public String getName() { method getDeclaringClass (line 225) | public Class getDeclaringClass() { method compile (line 238) | public boolean compile() { method invoke (line 255) | public Object invoke(Object receiver, Object... args) throws IllegalAc... method invokeInternal (line 277) | private Object invokeInternal(Object receiver, Object... args) throws ... method getModifiers (line 289) | public int getModifiers() { method getParameterTypes (line 301) | public Class[] getParameterTypes() { method getReturnType (line 313) | public Class getReturnType() { method getExceptionTypes (line 325) | public Class[] getExceptionTypes() { method toGenericString (line 333) | public String toGenericString() { method getExecutable (line 344) | public Object getExecutable() { method getAddress (line 356) | public long getAddress() { method getIdentifier (line 364) | public String getIdentifier() { method makePrivate (line 372) | public void makePrivate() { method ensureResolved (line 383) | public void ensureResolved() { method getEntryPointFromQuickCompiledCode (line 403) | public long getEntryPointFromQuickCompiledCode() { method setEntryPointFromQuickCompiledCode (line 410) | public void setEntryPointFromQuickCompiledCode(long pointer_entry_poin... method getAccessFlags (line 417) | public int getAccessFlags() { method setAccessFlags (line 421) | public void setAccessFlags(int newFlags) { method setEntryPointFromJni (line 425) | public void setEntryPointFromJni(long entryPointFromJni) { method getEntryPointFromJni (line 429) | public long getEntryPointFromJni() { method getArtMethodSize (line 437) | public static int getArtMethodSize() { method rule1 (line 451) | private void rule1() { method rule2 (line 455) | private void rule2() { method getQuickToInterpreterBridge (line 458) | public static long getQuickToInterpreterBridge() { method getFieldOffset (line 466) | public long getFieldOffset() { method searchOffset (line 478) | public static long searchOffset(long base, long range, int value) { method searchOffset (line 492) | public static long searchOffset(long base, long range, long value) { FILE: library/src/main/java/me/weishu/epic/art/method/Offset.java class Offset (line 33) | class Offset { type BitWidth (line 56) | private enum BitWidth { method BitWidth (line 60) | BitWidth(int width) { method getOffset (line 70) | public long getOffset() { method setOffset (line 74) | public void setOffset(long offset) { method getLength (line 78) | public BitWidth getLength() { method setLength (line 82) | public void setLength(BitWidth length) { method read (line 86) | public static long read(long base, Offset offset) { method write (line 96) | public static void write(long base, Offset offset, long value) { method initFields (line 111) | private static void initFields() {