in src/expression/StaticDarrayExpression.hack [18:33]
protected static function matchImpl(
this::TNode $node,
): ?Expression<darray<arraykey, mixed>> {
$members = $node->getMembers();
$members = $members?->getChildrenOfItemsOfType(HHAST\Node::class) ?? vec[];
$ret = darray[];
foreach ($members as $m) {
$pair = StaticElementInitializerExpression::match($m);
if ($pair === null) {
return null;
}
list($key, $value) = $pair->getValue();
$ret[$key] = $value;
}
return new self($ret);
}