Tabnine Logo
DexCodeVisitor.visitConstStmt
Code IndexAdd Tabnine to your IDE (free)

How to use
visitConstStmt
method
in
com.googlecode.d2j.visitors.DexCodeVisitor

Best Java code snippets using com.googlecode.d2j.visitors.DexCodeVisitor.visitConstStmt (Showing top 20 results out of 315)

origin: pxb1988/dex2jar

  @Override
  public void accept(DexCodeVisitor cv) {
    cv.visitConstStmt(op, a, value);
  }
}
origin: pxb1988/dex2jar

/**
 * <pre>
 * CONST * CONST_WIDE * CONST_STRING * CONST_CLASS *
 * </pre>
 * 
 * @param op
 * @param ra
 * @param value
 *            int/long/type
 */
public void visitConstStmt(Op op, int ra, Object value) {
  if (visitor != null) {
    visitor.visitConstStmt(op, ra, value);
  }
}
origin: pxb1988/dex2jar

@SuppressWarnings("incomplete-switch")
@Override
public void visitConstStmt(Op op, int ra, Object value) {
  switch (op) {
  case CONST_WIDE_16: {
    Long v = (Long) value;
    value = (int) v.shortValue();
    break;
  }
  case CONST_WIDE_HIGH16: {
    Long v = (Long) value;
    value = (int) ((short) (v >> 48));
    break;
  }
  case CONST_WIDE_32: {
    Long v = (Long) value;
    value = (int) v.intValue();
    break;
  }
  case CONST_HIGH16: {
    Integer v = (Integer) value;
    value = (int) v.intValue() >> 16;
    break;
  }
  }
  out.s("%s %s, %s", op.displayName, reg(ra), BaksmaliDumper.escapeValue(value));
  super.visitConstStmt(op, ra, value);
}
origin: pxb1988/dex2jar

code.visitConstStmt(Op.CONST_STRING, 1, "invalid idx");
code.visitMethodStmt(Op.INVOKE_DIRECT, new int[]{0,
    1}, new Method("Ljava/lang/RuntimeException;", "<init>", new String[]{"Ljava/lang/String;"}, "V"));
  code.visitConstStmt(Op.CONST_STRING, 0, e.getKey());
  code.visitStmt1R(Op.RETURN_OBJECT, 0);
origin: pxb1988/dex2jar

@Test
public static void a123(DexClassVisitor cv) {
  DexMethodVisitor mv = cv.visitMethod(ACC_PUBLIC | ACC_STATIC, new Method("La;", "b", new String[] {}, "V"));
  DexCodeVisitor code = mv.visitCode();
  code.visitRegister(3);
  code.visitConstStmt(CONST, 0, 0);
  code.visitConstStmt(CONST, 1, 1);
  code.visitConstStmt(CONST, 2, 0x63);
  code.visitStmt3R(APUT, 2, 0, 1);
  code.visitStmt0R(RETURN_VOID);
  code.visitEnd();
  mv.visitEnd();
}
origin: pxb1988/dex2jar

@Test
public static void a122(DexClassVisitor cv) {
  DexMethodVisitor mv = cv.visitMethod(ACC_PUBLIC | ACC_STATIC, new Method("La;", "b", new String[] {}, "V"));
  DexCodeVisitor code = mv.visitCode();
  code.visitRegister(3);
  code.visitConstStmt(CONST, 0, Integer.valueOf(0));
  code.visitConstStmt(CONST, 2, Integer.valueOf(1));
  code.visitStmt3R(AGET, 1, 0, 2);
  code.visitStmt0R(RETURN_VOID);
  code.visitEnd();
  mv.visitEnd();
}
origin: pxb1988/dex2jar

  argStart++;
} else {
  dcv.visitConstStmt(Op.CONST_4, 0, 0);
  dcv.visitConstStmt(Op.CONST_4, 1, 0);
} else {
  dcv.visitConstStmt(Op.CONST, 1, t.getParameterTypes().length);
  dcv.visitTypeStmt(Op.NEW_ARRAY, 1, 1, "[Ljava/lang/Object;");
  for (int i = 0; i < t.getParameterTypes().length; i++) {
    char type = t.getParameterTypes()[i].charAt(0);
    dcv.visitConstStmt(Op.CONST, 2, i);
    box(type, argStart, 3, dcv);
    dcv.visitStmt3R(Op.APUT_OBJECT, 3, 1, 2);
dcv.visitConstStmt(Op.CONST, 2, nextIdx);
String miTypeDesc = "L" + getCurrentInvocationName() + ";";
dcv.visitTypeStmt(Op.NEW_INSTANCE, 3, 0, miTypeDesc);
origin: pxb1988/dex2jar

@Test
public static void a120(DexClassVisitor cv) {
  DexMethodVisitor mv = cv.visitMethod(ACC_PUBLIC | ACC_STATIC, new Method("La;", "b", new String[] {}, "V"));
  DexCodeVisitor code = mv.visitCode();
  code.visitRegister(3);
  code.visitConstStmt(CONST, 0, Integer.valueOf(0));
  code.visitMethodStmt(INVOKE_VIRTUAL, new int[] { 0 }, new Method("Ljava/lang/String;", "toString",
      new String[] {}, "Ljava/lang/String;"));
  code.visitConstStmt(CONST, 1, Integer.valueOf(0));
  code.visitStmt2R(ARRAY_LENGTH, 2, 1);
  code.visitStmt0R(RETURN_VOID);
  code.visitEnd();
  mv.visitEnd();
}
origin: pxb1988/dex2jar

  @Test
  public static void i168(DexClassVisitor cv) {
    DexMethodVisitor mv = cv.visitMethod(ACC_PUBLIC | ACC_STATIC, new Method("La;", "a", new String[] {}, "I"));
    DexCodeVisitor code = mv.visitCode();
    code.visitRegister(2000); // 2000 locals
    for (int i = 0; i < 2000; i++) {// 2000 insns
      code.visitConstStmt(Op.CONST, i, i);
    }
    for (int i = 0; i < 18000; i++) {// 18000 insns
      code.visitConstStmt(Op.CONST, 25, i);
    }
    code.visitStmt1R(Op.RETURN, 25);
    code.visitEnd();
    mv.visitEnd();
  }
}
origin: pxb1988/dex2jar

  @Test
  public static void i71(DexClassVisitor cv) {
    DexMethodVisitor mv = cv.visitMethod(ACC_STATIC, new Method("La;", "test", new String[] {}, "V"));
    if (mv != null) {
      DexCodeVisitor code = mv.visitCode();
      if (code != null) {
        code.visitRegister(2);
        code.visitConstStmt(CONST_WIDE, 0, 0L);
        code.visitConstStmt(CONST_WIDE, 1, 2L);
        code.visitStmt3R(ADD_LONG, 0, 0, 1);
        code.visitStmt0R(RETURN_VOID);
        code.visitEnd();
      }
      mv.visitEnd();
    }
  }
}
origin: pxb1988/dex2jar

for (int i1 = 0; i1 < parameterTypes.length; i1++) {
  String argType = parameterTypes[i1];
  dcv.visitConstStmt(Op.CONST, 0, i1);
  dcv.visitStmt3R(Op.AGET_OBJECT, i, argStart, 0);
  unbox(argType, i, dcv);
  dcv.visitConstStmt(Op.CONST, 0, 0);
} else {
  switch (t.getReturnType().charAt(0)) {
origin: pxb1988/dex2jar

  @Test
  public static void merge1(DexClassVisitor cv) {// obj = array
    DexMethodVisitor mv = cv.visitMethod(ACC_PUBLIC | ACC_STATIC, new Method("La;", "b", new String[] {}, "V"));
    DexCodeVisitor code = mv.visitCode();
    DexLabel L0 = new DexLabel();
    DexLabel L1 = new DexLabel();
    code.visitRegister(3);
    code.visitConstStmt(CONST, 0, 0);
    code.visitJumpStmt(GOTO, -1, -1, L1);
    code.visitLabel(L0);
    code.visitStmt2R(ARRAY_LENGTH, 1, 0);
    code.visitConstStmt(CONST, 1, 0);
    code.visitStmt3R(AGET, 2, 0, 1);
    code.visitStmt0R(RETURN_VOID);
    code.visitLabel(L1);
    code.visitConstStmt(CONST, 1, 1);
    code.visitTypeStmt(NEW_ARRAY, 0, 1, "[Ljava/security/cert/X509Certificate;");
    code.visitJumpStmt(GOTO, -1, -1, L0);
    code.visitEnd();
    mv.visitEnd();
  }
}
origin: pxb1988/dex2jar

  @Test
  public void test() {
    ASMifierFileV fv = new ASMifierFileV(new File("target/asmftest").toPath(), "a.b");
    DexClassVisitor cv = fv.visit(ACC_PUBLIC, "La/f;", "Ljava/lang/Object;", null);
    DexFieldVisitor f2v = cv.visitField(ACC_PUBLIC, new Field("La/f;", "abc", "I"), null);
    f2v.visitEnd();
    DexMethodVisitor mv = cv.visitMethod(ACC_PUBLIC | ACC_STATIC, new Method("La/f;", "zz", new String[0], "I"));

    DexAnnotationAble pv = mv.visitParameterAnnotation(2);
    DexAnnotationVisitor dav = pv.visitAnnotation("Leeeff;", Visibility.BUILD);
    dav.visitEnd();
    DexCodeVisitor dcv = mv.visitCode();
    dcv.visitConstStmt(Op.FILL_ARRAY_DATA, 0, new int[] { 1, 2, 3 });
    dcv.visitStmt0R(Op.RETURN_VOID);
    dcv.visitEnd();
    mv.visitEnd();
    cv.visitEnd();
    fv.visitEnd();
  }
}
origin: pxb1988/dex2jar

code.visitConstStmt(CONST_STRING, 2, "response");
code.visitConstStmt(CONST_STRING, 4, "");
code.visitLabel(L0);
code.visitFieldStmt(IGET, 2, 5, new Field("LJSResponseTest;", "className", "Ljava/lang/String;"));
code.visitJumpStmt(IF_NEZ, 2, -1, L10);
code.visitLabel(L8);
code.visitConstStmt(CONST_STRING, 2, "");
code.visitStmt2R(MOVE, 2, 4);
code.visitLabel(L9);
code.visitConstStmt(CONST_STRING, 2, "class");
code.visitFieldStmt(IGET, 3, 5, new Field("LJSResponseTest;", "className", "Ljava/lang/String;"));
code.visitMethodStmt(INVOKE_VIRTUAL, new int[] { 1, 2, 3 }, new Method("Lorg/json/JSONObject;", "put",
    new String[] { "Ljava/lang/String;", "Ljava/lang/Object;" }, "Lorg/json/JSONObject;"));
code.visitConstStmt(CONST_STRING, 2, "call");
code.visitFieldStmt(IGET, 3, 5, new Field("LJSResponseTest;", "methodName", "Ljava/lang/String;"));
code.visitMethodStmt(INVOKE_VIRTUAL, new int[] { 1, 2, 3 }, new Method("Lorg/json/JSONObject;", "put",
    new String[] { "Ljava/lang/String;", "Ljava/lang/Object;" }, "Lorg/json/JSONObject;"));
code.visitConstStmt(CONST_STRING, 2, "result");
code.visitFieldStmt(IGET, 3, 5, new Field("LJSResponseTest;", "result", "I"));
code.visitMethodStmt(INVOKE_VIRTUAL, new int[] { 1, 2, 3 }, new Method("Lorg/json/JSONObject;", "put",
code.visitConstStmt(CONST_STRING, 2, "response");
code.visitFieldStmt(IGET, 3, 5, new Field("LJSResponseTest;", "response", "Ljava/lang/Object;"));
code.visitMethodStmt(INVOKE_VIRTUAL, new int[] { 1, 2, 3 }, new Method("Lorg/json/JSONObject;", "put",
origin: pxb1988/dex2jar

    new String[] {}, "V"));
code.visitFieldStmt(SGET_BOOLEAN, 0, -1, f);
code.visitConstStmt(CONST, 1, 0xffFFffFF);
code.visitStmt3R(ADD_INT, 0, 0, 1);
code.visitFieldStmt(SPUT_SHORT, 0, -1, f);
origin: pxb1988/dex2jar

public static void a(DexClassVisitor cv) {
  DexMethodVisitor mv = cv.visitMethod(ACC_PUBLIC | ACC_STATIC, new Method("La;", "b", new String[] {}, "V"));
  DexCodeVisitor code = mv.visitCode();
  code.visitRegister(2);
  DexLabel L0 = new DexLabel();
  DexLabel L1 = new DexLabel();
  DexLabel L2 = new DexLabel();
  code.visitTryCatch(L0, L1, new DexLabel[] { L2 }, new String[] { "Lsome/Exception;" });
  code.visitLabel(L0);
  code.visitConstStmt(CONST_STRING, 0, "abc");
  code.visitLabel(L1);
  code.visitMethodStmt(INVOKE_VIRTUAL, new int[] { 0 }, new Method("Ljava/lang/String;", "toString",
      new String[] {}, "Ljava/lang/String;"));
  code.visitStmt0R(RETURN_VOID);
  code.visitLabel(L2);
  code.visitStmt1R(MOVE_EXCEPTION, 1);
  code.visitMethodStmt(INVOKE_VIRTUAL, new int[] { 1 }, new Method("Ljava/lang/String;", "toString",
      new String[] {}, "Ljava/lang/String;"));
  code.visitStmt0R(RETURN_VOID);
  code.visitEnd();
  mv.visitEnd();
}
origin: pxb1988/dex2jar

code.visitConstStmt(Op.CONST_STRING, 1, "invalid idx");
code.visitMethodStmt(Op.INVOKE_DIRECT, new int[]{0,
    1}, new Method("Ljava/lang/RuntimeException;", "<init>", new String[]{"Ljava/lang/String;"}, "V"));
origin: pxb1988/dex2jar

DexLabel L2 = new DexLabel();
DexLabel L3 = new DexLabel();
code.visitConstStmt(CONST, v0, 0);
code.visitJumpStmt(IF_EQ, v0, v0, L2);
code.visitLabel(L1);
origin: pxb1988/dex2jar

code.visitLabel(try_start);
code.visitStmt1R(MONITOR_ENTER, v0);
code.visitConstStmt(CONST_STRING, v1, "haha");
code.visitMethodStmt(INVOKE_VIRTUAL, new int[] { v0, v1 }, new Method("Ljava/io/PrintString;", "println",
    new String[] { "Ljava/lang/String;" }, "V"));
origin: pxb1988/dex2jar

code.visitStmt1R(RETURN_OBJECT, v0);
code.visitLabel(cond_7);
code.visitConstStmt(CONST_STRING, p1, "ISO-8859-1");
com.googlecode.d2j.visitorsDexCodeVisitorvisitConstStmt

Javadoc

 
CONST * CONST_WIDE * CONST_STRING * CONST_CLASS  

Popular methods of DexCodeVisitor

  • visitEnd
  • visitRegister
  • visitStmt0R
    Op#RETURN_VOID Op#NOP Op#BAD_OP
  • visitFieldStmt
    OP_IGETX a,b field OP_IPUTX a,b field OP_SGETX a field OP_SPUTX a field
  • visitLabel
  • visitMethodStmt
    OP_INVOKE_CUSTOM
  • visitPackedSwitchStmt
  • visitStmt1R
    OP_RETURN_X OP_THROW_X OP_MONITOR_ENTER OP_MONITOR_EXIT OP_MOVE_RESULT_X OP_MOVE_EXCEPTION_X
  • visitStmt2R
    OP_MOVE a = a X b OP_ARRAY_LENGTH a=Xb X_TO_Y
  • visitStmt3R
    OP_ADD OP_SUB OP_MUL OP_DIV OP_REM OP_AND OP_OR OP_XOR OP_SHL OP_SHR OP_USHR OP_CMPL O
  • visitTypeStmt
    OP_INSTANCE_OF OP_NEW_ARRAY OP_CHECK_CAST OP_NEW_INSTANCE
  • visitDebug
  • visitTypeStmt,
  • visitDebug,
  • visitFillArrayDataStmt,
  • visitJumpStmt,
  • visitSparseSwitchStmt,
  • visitStmt2R1N,
  • visitTryCatch,
  • visitFilledNewArrayStmt

Popular in Java

  • Creating JSON documents from java classes using gson
  • getSystemService (Context)
  • setScale (BigDecimal)
  • onCreateOptionsMenu (Activity)
  • Kernel (java.awt.image)
  • InputStreamReader (java.io)
    A class for turning a byte stream into a character stream. Data read from the source input stream is
  • Socket (java.net)
    Provides a client-side TCP socket.
  • Collection (java.util)
    Collection is the root of the collection hierarchy. It defines operations on data collections and t
  • UUID (java.util)
    UUID is an immutable representation of a 128-bit universally unique identifier (UUID). There are mul
  • Scheduler (org.quartz)
    This is the main interface of a Quartz Scheduler. A Scheduler maintains a registry of org.quartz.Job
  • Top plugins for WebStorm
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now