Constraints for function arguments
commit7073ca8fb8935eff6b03e9da3a624b6a3b4f26c7
authorMistral Orhan Jean-Pierre Contrastin <mojpc2@fb.com>
Tue, 11 Jan 2022 17:27:32 +0000 (11 09:27 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Tue, 11 Jan 2022 17:29:23 +0000 (11 09:29 -0800)
tree0dd9d6405401dd14599018fb920ebdbc95f86cf6
parent4373542ba6b242558d3952cf713254526eb9483e
Constraints for function arguments

Summary: An incomplete treatment of function calls where we register constraints at arguments as they are interesting.

Reviewed By: enetsee

Differential Revision: D33456598

fbshipit-source-id: fb5c3001570ead57616b66baf93dbc89440d7a7d
48 files changed:
hphp/hack/src/shape_analysis/shape_analysis.ml
hphp/hack/src/shape_analysis/shape_analysis_pretty_printer.ml
hphp/hack/src/shape_analysis/shape_analysis_types.ml
hphp/hack/src/shape_analysis/shape_analysis_types.mli
hphp/hack/test/shape_analysis/dump_constraints/argument.php [new file with mode: 0644]
hphp/hack/test/shape_analysis/dump_constraints/argument.php.exp [new file with mode: 0644]
hphp/hack/test/shape_analysis/simplify_constraints/break.php
hphp/hack/test/shape_analysis/simplify_constraints/break.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/break2.php
hphp/hack/test/shape_analysis/simplify_constraints/break2.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/continue.php
hphp/hack/test/shape_analysis/simplify_constraints/continue.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/entity_assignment.php
hphp/hack/test/shape_analysis/simplify_constraints/entity_assignment.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/entity_assignment2.php
hphp/hack/test/shape_analysis/simplify_constraints/entity_assignment2.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/identical_keys_different_shapes.php
hphp/hack/test/shape_analysis/simplify_constraints/identical_keys_different_shapes.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/if2.php
hphp/hack/test/shape_analysis/simplify_constraints/if2.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/if3.php
hphp/hack/test/shape_analysis/simplify_constraints/if3.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/if4.php
hphp/hack/test/shape_analysis/simplify_constraints/if4.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/if5.php
hphp/hack/test/shape_analysis/simplify_constraints/if5.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/multiple_dict_arguments.php [new file with mode: 0644]
hphp/hack/test/shape_analysis/simplify_constraints/multiple_dict_arguments.php.exp [new file with mode: 0644]
hphp/hack/test/shape_analysis/simplify_constraints/parameter2.php
hphp/hack/test/shape_analysis/simplify_constraints/parameter2.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/parameter3.php
hphp/hack/test/shape_analysis/simplify_constraints/parameter3.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/switch.php
hphp/hack/test/shape_analysis/simplify_constraints/switch.php.exp [copied from hphp/hack/test/shape_analysis/simplify_constraints/switch4.php.exp with 52% similarity]
hphp/hack/test/shape_analysis/simplify_constraints/switch2.php
hphp/hack/test/shape_analysis/simplify_constraints/switch2.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/switch3.php
hphp/hack/test/shape_analysis/simplify_constraints/switch3.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/switch4.php
hphp/hack/test/shape_analysis/simplify_constraints/switch4.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/while.php
hphp/hack/test/shape_analysis/simplify_constraints/while.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/while2.php
hphp/hack/test/shape_analysis/simplify_constraints/while2.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/while3.php
hphp/hack/test/shape_analysis/simplify_constraints/while3.php.exp
hphp/hack/test/shape_analysis/simplify_constraints/while5.php
hphp/hack/test/shape_analysis/simplify_constraints/while5.php.exp