Tags: jdx/hhvm
Tags
Ban static method calls on reified generics
Summary:
Although it works in the runtime, we probably want to ban static method calls on reified generics in Expression Trees. However, we only want to ban these when used within the Expression Tree expressions. We do not want to ban these when they are used in spliced expressions.
So the following is banned
```
class Foo {
public static async function bar(ExampleContext $_):
Awaitable<ExprTree<Code, Code::TAst, (function(): void)>>
{
throw new Exception();
}
}
function takes_reified<reify T as Foo>(): void {
Code`T::bar()`;
}
```
The following is not
```
class Foo {
public static function bar(): ExprTree<Code, Code::TAst, (function(): void)> {
throw new Exception();
}
}
function takes_reified<reify T as Foo>(): void {
Code`${ T::bar() }`;
}
```
Reviewed By: Wilfred
Differential Revision: D28374855
fbshipit-source-id: 39e3f87298fa9fcaa79e32bf128ab0b306f7ce8b
separate symbolindex_search_provider for serverless-ide Reviewed By: bobrenjc93 Differential Revision: D28461492 fbshipit-source-id: cf0adc807742335645ef397d4916a5d3412a70bb
Newly passing/repassing tests. Reviewed By: aorenste Differential Revision: D28615840 fbshipit-source-id: f36be52e71fc38aceeb675096eb3f6ce12ec2914
Don't align first optimized translation for a function Summary: To allow fallthroughs from the last emitted prologue. Reviewed By: ricklavoie Differential Revision: D28621597 fbshipit-source-id: 652bcce4d237d89d82db24c1a298c93dea44c8b9
Enable abstract context constants Reviewed By: vassilmladenov Differential Revision: D28609749 fbshipit-source-id: 30ee4b8ff83d3e5e365031ac4e094e5c246040e3
IR for StructDict perfect hashing Summary: Implement perfect hash tables for StructDicts using coloring information. The procedure for accesses in a StructDict is now as follows: 1) Check the color of the string. This will be junk for non-static strings. 2) Load the corresponding entry in the StructDict's hash table. 3) Check if the string in the entry matches the key we're querying. If so, use the type and value index in the entry to index into the StructDict and obtain the value. 4) Otherwise, check if the key is static. If it is, return Uninit. Otherwise, fallback to the non-static query routine. This is implemented in StructDict::NvGetStr and a new IR operation, StructDictGetWithColor. Differential Revision: D28432159 fbshipit-source-id: c4b8235f41781b6d3c994d4acfd460e5374a4fc6
Implement reified coeffect rule Summary: This diff implements the interpreter and jit support for accessing a coeffect off of a reified generic. Reviewed By: jano Differential Revision: D28419336 fbshipit-source-id: 6d95cf9f5370826356ee6181df8e930fbffbe8e3
Remove unused file Summary: This file was accidentally committed in D26768509 (facebook@6ab9ab7), but it's not actually used or generated by anything. Differential Revision: D28527576 fbshipit-source-id: a87025ebad78e4912ba1b51311162864b893d154
Adding hhi definition for get_proxygen_headers Reviewed By: fredemmott Differential Revision: D27969757 fbshipit-source-id: bf80c437669ec9bd6f51b9e032f2751158c64856
PreviousNext