Examples of replaceArg()


Examples of jadx.core.dex.nodes.InsnNode.replaceArg()

      } else {
        // in most cases type not equal arg.getType()
        // just set unknown type and run type fixer
        litArg = InsnArg.lit(literal, ArgType.UNKNOWN);
      }
      if (useInsn.replaceArg(arg, litArg)) {
        fixTypes(mth, useInsn, litArg);
        replaceCount++;
      }
    }
    return replaceCount == use.size();
View Full Code Here

Examples of jadx.core.dex.nodes.InsnNode.replaceArg()

    if (nextCall.contains(AFlag.WRAPPED)) {
      InsnArg wrapArg = BlockUtils.searchWrappedInsnParent(mth, nextCall);
      if (wrapArg != null) {
        InsnNode parentInsn = wrapArg.getParentInsn();
        if (parentInsn.getType() != InsnType.CHECK_CAST) {
          parentInsn.replaceArg(wrapArg, iterVar);
        } else {
          iterVar = parentInsn.getResult();
          InsnArg castArg = BlockUtils.searchWrappedInsnParent(mth, parentInsn);
          if (castArg != null) {
            castArg.getParentInsn().replaceArg(castArg, iterVar);
View Full Code Here

Examples of jadx.core.dex.nodes.InsnNode.replaceArg()

        } else {
          InsnArg repl = regs[regNum];
          if (repl == null) {
            LOG.warn("Not passed register {} in method call: {} from {}", r, callMthNode, mth);
          } else {
            inl.replaceArg(r, repl);
            toRevert.put(r, repl);
          }
        }
      }
      makeInsn(inl, code, Flags.BODY_ONLY);
View Full Code Here

Examples of jadx.core.dex.nodes.InsnNode.replaceArg()

        }
      }
      makeInsn(inl, code, Flags.BODY_ONLY);
      // revert changes in 'MethodInlineAttr'
      for (Map.Entry<RegisterArg, InsnArg> e : toRevert.entrySet()) {
        inl.replaceArg(e.getValue(), e.getKey());
      }
    }
    return true;
  }
View Full Code Here

Examples of jadx.core.dex.nodes.InsnNode.replaceArg()

            if (!resultArg.equals(instArg)) {
              // replace all usages of 'instArg' with result of this constructor instruction
              for (RegisterArg useArg : new ArrayList<RegisterArg>(instArg.getSVar().getUseList())) {
                RegisterArg dup = resultArg.duplicate();
                InsnNode parentInsn = useArg.getParentInsn();
                parentInsn.replaceArg(useArg, dup);
                dup.setParentInsn(parentInsn);
                resultArg.getSVar().use(dup);
              }
            }
          }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.