def decode()

in commands/FBClassDump.py [0:0]


def decode(code):
    encodeMap = {
        "c": "char",
        "i": "int",
        "s": "short",
        "l": "long",
        "q": "long long",
        "C": "unsigned char",
        "I": "unsigned int",
        "S": "unsigned short",
        "L": "unsigned long",
        "Q": "unsigned long long",
        "f": "float",
        "d": "double",
        "B": "bool",
        "v": "void",
        "*": "char *",
        "@": "id",
        "#": "Class",
        ":": "SEL",
    }

    ret = code
    if code in encodeMap:
        ret = encodeMap[code]
    elif ret[0:1] == "@":
        if ret[1:2] == "?":  # @? represent a block
            ret = code
        elif ret[2:3] == "<":  # @"<aDelegate><bDelegate>"
            ret = "id" + ret[2:-1].replace("><", ", ")
        else:
            ret = ret[2:-1] + " *"
    elif ret[0:1] == "^":
        ret = decode(ret[1:]) + " *"

    return ret