Emit context constants from HackC
commitac99e45f61c312ef072a3cf886ef246195709669
authorOguz Ulgen <oulgen@fb.com>
Fri, 29 Jan 2021 00:54:12 +0000 (28 16:54 -0800)
committerFacebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
Fri, 29 Jan 2021 00:56:43 +0000 (28 16:56 -0800)
treec8891c89d77fc7853a8d5df9919330d63aa84ac3
parentab1ac51a7bf6eac8cf0a86cfd58a94fc52c0a9e4
Emit context constants from HackC

Summary:
This diff adds emitting of context constants from HackC via hhas directives.

Contexts constants are emitted as

```
.ctx <name> <list-of-coeffects>
```

Reviewed By: jamesjwu

Differential Revision: D26133568

fbshipit-source-id: 1da379a941d143acaf9ab891d4871b51718fa29d
hphp/hack/Cargo.lock
hphp/hack/src/hhbc/cargo/hhas_class/Cargo.toml
hphp/hack/src/hhbc/emit_class.rs
hphp/hack/src/hhbc/hhas_class.rs
hphp/hack/src/hhbc/hhas_coeffects.rs
hphp/hack/src/hhbc/print.rs
hphp/runtime/vm/as.cpp
hphp/test/slow/coeffects/ctx-parsing.php [new file with mode: 0644]
hphp/test/slow/coeffects/ctx-parsing.php.expect [new file with mode: 0644]