Package jadx.core.dex.instructions

Examples of jadx.core.dex.instructions.InsnType


    InsnArg arg = insn.getArg(0);
    if (!arg.isInsnWrap()) {
      return null;
    }
    InsnNode wrap = ((InsnWrapArg) arg).getWrapInsn();
    InsnType wrapType = wrap.getType();
    if ((wrapType != InsnType.ARITH && wrapType != InsnType.STR_CONCAT)
        || !wrap.getArg(0).isInsnWrap()) {
      return null;
    }
    InsnNode get = ((InsnWrapArg) wrap.getArg(0)).getWrapInsn();
    InsnType getType = get.getType();
    if (getType != InsnType.IGET && getType != InsnType.SGET) {
      return null;
    }
    FieldInfo field = (FieldInfo) ((IndexInsnNode) insn).getIndex();
    FieldInfo innerField = (FieldInfo) ((IndexInsnNode) get).getIndex();
View Full Code Here


  public Object getConstValue(DexNode dex) {
    InsnNode parInsn = getAssignInsn();
    if (parInsn == null) {
      return null;
    }
    InsnType insnType = parInsn.getType();
    switch (insnType) {
      case CONST:
        return parInsn.getArg(0);
      case CONST_STR:
        return ((ConstStringNode) parInsn).getString();
View Full Code Here

   */
  private static boolean checkObjectInline(SSAVar sVar) {
    for (RegisterArg useArg : sVar.getUseList()) {
      InsnNode insn = useArg.getParentInsn();
      if (insn != null) {
        InsnType insnType = insn.getType();
        if (insnType == InsnType.INVOKE) {
          InvokeNode inv = (InvokeNode) insn;
          if (inv.getInvokeType() != InvokeType.STATIC
              && inv.getArg(0) == useArg) {
            return true;
View Full Code Here

    }
    if (!c.getB().isLiteral() || ((LiteralArg) c.getB()).getLiteral() != 0) {
      return;
    }
    InsnNode wrapInsn = ((InsnWrapArg) c.getA()).getWrapInsn();
    InsnType type = wrapInsn.getType();
    if (type != InsnType.CMP_L && type != InsnType.CMP_G) {
      return;
    }
    IfNode insn = c.getInsn();
    insn.changeCondition(insn.getOp(), wrapInsn.getArg(0), wrapInsn.getArg(1));
View Full Code Here

  private static InsnNode removeAssignChain(InsnNode insn, InstructionRemover remover, InsnType insnType) {
    if (insn == null) {
      return null;
    }
    remover.add(insn);
    InsnType type = insn.getType();
    if (type == insnType) {
      return insn;
    }
    if (type == InsnType.MOVE) {
      RegisterArg arg = (RegisterArg) insn.getArg(0);
View Full Code Here

      if (insn == null) {
        continue;
      }
      boolean startNew = false;
      if (prevInsn != null) {
        InsnType type = prevInsn.getType();
        if (type == InsnType.GOTO
            || type == InsnType.THROW
            || SEPARATE_INSNS.contains(type)) {

          if (type == InsnType.RETURN || type == InsnType.THROW) {
View Full Code Here

  private static boolean isArgWrapNeeded(InsnArg arg) {
    if (!arg.isInsnWrap()) {
      return false;
    }
    InsnNode insn = ((InsnWrapArg) arg).getWrapInsn();
    InsnType insnType = insn.getType();
    if (insnType == InsnType.ARITH) {
      switch (((ArithNode) insn).getOp()) {
        case ADD:
        case SUB:
        case MUL:
View Full Code Here

TOP

Related Classes of jadx.core.dex.instructions.InsnType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.