def parseType()

in wasm/tool/generate_ffi_boilerplate.py [0:0]


def parseType(s):
    for r, t in reReplace:
        s = r.sub(t, s)
    s = s.strip()
    numWords = len(reWord.findall(s))
    assert (numWords == 1 or numWords == 2)
    if numWords == 2:
        i = 0

        def lastWordRepl(m):
            nonlocal i
            i += 1
            return '' if i == numWords else m.group(0)

        s = reWord.sub(lastWordRepl, s)
    numPtr = 0
    while True:
        s = s.strip()
        if s.endswith('*'):
            s = s[:-1]
        elif s.endswith('[]'):
            s = s[:-2]
        else:
            break
        numPtr += 1
    return (numPtr, s)