{"push_id":984664855,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"3b85463160d24affab5bb1a2ddf5c5d17c1b3583","before":"0c3ba9b1bee5c905e7e460a12e43932f94150919","commits":[{"sha":"3b85463160d24affab5bb1a2ddf5c5d17c1b3583","author":{"email":"521b71b66118ece0fda08843b612c77cfd6c2588@fb.com","name":"Jez Ng"},"message":"[hack] Split make_param_ty into two separate functions for decl vs locl\n\nSummary:As part of lazy decl, I'm trying to make Typing depend on Typing_decl instead\nof the other way around.\n\nOne of the functions causes Typing_decl to call into Typing is make_param_ty,\nand it seems like a fairly frankensteinian function -- it takes a bunch of\nparameters in order to cover both the decl and locl phases. Splitting the\nfunction into two makes it easier to read and easier to split between the\nTyping_decl and Typing modules.\n\nOne minor functionality change is in the way we handle `= null` in the param list. If we see this\n\n```\nfunction f(int $x = null) {}\n```\n\nWe raise an error (since $x is typehinted as non-null). However, due to\nbackwards compat reasons, we would previously continue to typecheck the body\nof `f` with the assumption that `$x` is `?int`. In the interests of\nsimplicity, I've done away with that logic; we will now assume that `$x` is\njust `int` in the body of `f`.\n\nIn any case, this feature seems pretty old and the backwards compatibility\nmay no longer be necessary, so I think it's alright to change it.\n\nReviewed By: dlreeves\n\nDifferential Revision: D2947924\n\nfb-gh-sync-id: 743e4a495454604ce8e3fbb5f0dafcae3f642e63\nshipit-source-id: 743e4a495454604ce8e3fbb5f0dafcae3f642e63","distinct":true,"url":"https://api.github.com/repos/facebook/flow/commits/3b85463160d24affab5bb1a2ddf5c5d17c1b3583"}]}