{"record":{"id":"6d78caf11fca89cc","repo":"pxb1988/dex2jar","slug":"not-support-6d78ca","errorCode":null,"errorMessage":"not support","messagePattern":"not support","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"dex-writer/src/main/java/com/googlecode/d2j/dex/writer/ev/EncodedValue.java","lineNumber":136,"sourceCode":"            return new EncodedValue(VALUE_BOOLEAN, v);\n        } else if (v instanceof Byte) {\n            return new EncodedValue(VALUE_BYTE, v);\n        } else if (v instanceof TypeIdItem) {\n            return new EncodedValue(VALUE_TYPE, v);\n        } else if (v instanceof StringIdItem) {\n            return new EncodedValue(VALUE_STRING, v);\n        } else if (v instanceof FieldIdItem) {\n            return new EncodedValue(VALUE_FIELD, v);\n        } else if (v instanceof MethodIdItem) {\n            return new EncodedValue(VALUE_METHOD, v);\n        } else if (v instanceof MethodHandleItem) {\n            return new EncodedValue(VALUE_METHOD_HANDLE, v);\n        } else if (v instanceof ProtoIdItem) {\n            return new EncodedValue(VALUE_METHOD_TYPE, v);\n        }\n\n\n        throw new RuntimeException(\"not support\");\n    }\n\n    public static EncodedValue defaultValueForType(String typeString) {\n        switch (typeString.charAt(0)) {\n            case '[':\n            case 'L':\n                return new EncodedValue(VALUE_NULL, null);\n            case 'B':\n                return new EncodedValue(VALUE_BYTE, (byte) 0);\n            case 'Z':\n                return new EncodedValue(VALUE_BOOLEAN, false);\n            case 'S':\n                return new EncodedValue(VALUE_SHORT, (short) 0);\n            case 'C':\n                return new EncodedValue(VALUE_CHAR, (char) 0);\n            case 'I':\n                return new EncodedValue(VALUE_INT, (int) 0);\n            case 'F':","sourceCodeStart":118,"sourceCodeEnd":154,"githubUrl":"https://github.com/pxb1988/dex2jar/blob/b5bda4fb4935ae8b3869b422454ae3b3896c7bc1/dex-writer/src/main/java/com/googlecode/d2j/dex/writer/ev/EncodedValue.java#L118-L154","documentation":"EncodedValue.wrap() converts Java objects into dex encoded values for a known set of types (primitives, strings, types, fields, methods, method handles, proto ids). Passing an object type it has no mapping for falls through to 'throw new RuntimeException(\"not support\").'","triggerScenarios":"Calling EncodedValue.wrap(v) with an unsupported object type (e.g. arbitrary POJO, array of unsupported elements, null-ish custom wrapper) when building annotation or static-field values.","commonSituations":"Annotation processors passing complex annotation members (Class arrays, nested annotations handled elsewhere, enums as raw objects) into the dex writer.","solutions":["Pre-convert the value into a supported type (Integer, String, TypeIdItem, MethodIdItem, etc.) before wrapping","Handle nested annotations/enums via their dedicated EncodedValue subtypes manually","Extend wrap() with a branch for your value type if you control the code"],"exampleFix":"// before\nEncodedValue.wrap(myEnumObject);\n// after\nEncodedValue.wrap(new EncodedValue(VALUE_ENUM, fieldIdItem));","handlingStrategy":"type-guard","validationCode":"static boolean isWrappable(Object v) {\n    return v instanceof Integer || v instanceof Long || v instanceof Short || v instanceof Byte\n        || v instanceof Character || v instanceof Boolean || v instanceof Float || v instanceof Double\n        || v instanceof String || v instanceof TypeIdItem || v instanceof FieldIdItem\n        || v instanceof MethodIdItem || v instanceof ProtoIdItem || v instanceof MethodHandleItem;\n}","typeGuard":"if (!(v instanceof String || v instanceof Number || v instanceof Character || v instanceof Boolean || v instanceof TypeIdItem || v instanceof FieldIdItem || v instanceof MethodIdItem || v instanceof ProtoIdItem)) { /* convert or reject */ }","tryCatchPattern":"try { return EncodedValue.wrap(v); } catch (RuntimeException e) { if (\"not support\".equals(e.getMessage())) return encodeManually(v); throw e; }","preventionTips":["Map annotation members to supported dex value types first","Handle enums/nested annotations via dedicated EncodedValue kinds","Reject unsupported member types at annotation-processing time"],"tags":["dex","encoded-value","unsupported-type"],"backgroundTag":"unsupported-operation","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"}