mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-25 00:02:40 +01:00
No description
4b30319747
Summary: XHPAST encounters a parse-depth problem on some files because PHP 5.2 has an un-overridable parse depth limit for JSON. The text of this error says it is a "warning" but we currently raise an error. Make it a warning instead. The JSON depth is 20 until PHP 5.2.3, where it becomes 128. After PHP 5.3 it defaults to 512 and is user-configurable, which will allow us to resolve this issue in nearly all cases. Since I made if/else express as a list in the AST, this only actually arises in long binary chains, most commonly string concatenation, like: $out = 'a'.'a'.'a'.'a'... ...where each string is a variable or HTML tag and the program is constructing a complicated document. At some point I'll add some PHP 5.3 massaging to the XHPAST decoder itself to raise this limit to something more huge. Test Plan: Ran "arc lint --lintall" on a file with a very deep binary expression tree ("1 + 1 + 1 ...") and received a warning instead of an error. Reviewed By: aran Reviewers: pad, aran CC: epriestley, aran Differential Revision: 54 |
||
---|---|---|
bin | ||
externals | ||
resources | ||
scripts | ||
src | ||
.arcconfig | ||
.divinerconfig | ||
.gitignore | ||
LICENSE | ||
README |
PROJECT STATUS: CAVEAT EMPTOR This is an unstable preview release. I'm open sourcing some of Facebook's internal tools, but they'll be unstable for at least a couple months. -epriestley WHAT IS ARCANIST? Arcanist is the CLI for Facebook's code review tool, Differential. Since Differential isn't released yet, it may not be terribly useful on its own.