static int tok_leftScanType(LS tok, int i) { while (eqGet(tok, i-2, "]") && eqGet(tok, i-4, "[")) i -= 4; i = tok_leftScanTypeArgsOpt(tok, i); do { if (!isIdentifier(get(tok, i-2))) ret i; // weird i = tok_leftScanType(tok, i-2); // Is this really supposed to be recursive?? } while (eqGet(tok, i-2, ".")); ret i; }