public function testArray()
{
$array = $this->typeSystem->getNativeType(INativeType::TYPE_ARRAY);
$indexer = $array->getIndex(O\Expression::index(O\Expression::value([]), O\Expression::value('s')));
$this->assertSame($this->typeSystem, $indexer->getTypeSystem());
$this->assertEqualsNativeType(INativeType::TYPE_ARRAY, $indexer->getSourceType());
$this->assertEqualsNativeType(INativeType::TYPE_MIXED, $indexer->getReturnType());
if ($indexer instanceof IIndexer) {
$this->assertEqualsNativeType(INativeType::TYPE_MIXED, $indexer->getReturnTypeOfIndex(3));
$this->assertEqualsNativeType(INativeType::TYPE_MIXED, $indexer->getReturnTypeOfIndex('abc'));
}
}