{"record":{"id":"72fb5ff69ae1099e","repo":"pxb1988/dex2jar","slug":"a","errorCode":null,"errorMessage":"A","messagePattern":"A","errorType":"exception","errorClass":"CantNotFixContentException","httpStatus":null,"severity":"error","filePath":"dex-writer/src/main/java/com/googlecode/d2j/dex/writer/CodeWriter.java","lineNumber":753,"sourceCode":"            }\n        }\n\n        public void fit() {\n            if (op == CONST_STRING && (idxItem.index > 0xFFFF || idxItem.index < 0)) {\n                op = CONST_STRING_JUMBO;\n            }\n        }\n    }\n\n    public static class OP35c extends OpInsn {\n        final BaseItem item;\n        int A, C, D, E, F, G;\n\n        public OP35c(Op op, int[] args, BaseItem item) {\n            super(op);\n            int A = args.length;\n            if (A > 5) {\n                throw new CantNotFixContentException(op, \"A\", A);\n            }\n            this.A = A;\n            switch (A) { // [A=5] op {vC, vD, vE, vF, vG},\n            case 5:\n                G = args[4];\n                checkContentU4bit(op, \"vG\", G);\n            case 4:\n                F = args[3];\n                checkContentU4bit(op, \"vF\", F);\n            case 3:\n                E = args[2];\n                checkContentU4bit(op, \"vE\", E);\n            case 2:\n                D = args[1];\n                checkContentU4bit(op, \"vD\", D);\n            case 1:\n                C = args[0];\n                checkContentU4bit(op, \"vC\", C);","sourceCodeStart":735,"sourceCodeEnd":771,"githubUrl":"https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/dex-writer/src/main/java/com/googlecode/d2j/dex/writer/CodeWriter.java#L735-L771","documentation":"OP35c assembles invoke-kind instructions (35c format), which can reference at most 5 registers. The constructor counts the argument register array and, if more than 5 registers are supplied, throws CantNotFixContentException with message 'A'. The 35c format's 4-bit count field simply cannot encode a larger invocation.","triggerScenarios":"Emitting an invoke-virtual/super/direct/static/interface or invoke-kind/range op through OP35c with args.length > 5, e.g. a static method call with 6+ parameters passed as individual registers.","commonSituations":"Translating Java methods with many parameters (plus 'this' for instance calls); code generators that forget to switch to invoke-*/range for large calls;dex translation of APIs with long parameter lists.","solutions":["Use the invoke-*/range (3rc format, e.g. invoke-virtual/range) when the call needs more than 5 registers, with a contiguous register block.","Rearrange registers so the invoked registers are contiguous and switch to the range form.","Reduce parameter count (package parameters into an array/object) or split the call via a helper method.","Guard before emission: if (args.length > 5) use range variant; catch CantNotFixContentException as a safety net."],"exampleFix":"// before: 6 registers in 35c format\nnew OP35c(Op.INVOKE_STATIC, new int[]{v0,v1,v2,v3,v4,v5}, method);\n// after: use range format with contiguous registers\nnew OP35c(Op.INVOKE_STATIC_RANGE, new int[]{5, firstReg}, method);","handlingStrategy":"validation","validationCode":"if (args.length > 5) {\n    // emit invoke-*/range (3rc) with contiguous registers instead\n    emitInvokeRange(op.rangeVariant(), args.size(), firstReg, method);\n} else {\n    emitInvoke(op, args, method);\n}","typeGuard":null,"tryCatchPattern":"try {\n    new OP35c(op, args, item);\n} catch (CantNotFixContentException e) {\n    // switch to the range format for >5 registers\n    emitRangeFormat(op, args, item);\n}","preventionTips":["Route any invoke with more than 5 registers to the /range opcode","Make sure argument registers are contiguous when using range formats","Remember instance calls need one extra register for 'this'","Test translation of methods with long parameter lists"],"tags":["dex","bytecode","invoke","value-out-of-range"],"backgroundTag":"value-out-of-range","analyzedSha":"b5bda4fb4935ae8b3869b422454ae3b3896c7bc1","analyzedAt":"2026-09-08T00:44:01.258Z","contentChangedAt":"2026-09-08T00:44:01.258Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}