/**
  * {@inheritdoc}
  */
 public function getFunctionTypeInfo($analyser = null)
 {
     $result = [];
     foreach (array_keys($this->context->getFunctions()) as $name) {
         $result[$name] = new TypeInfoMember($name, ['callable']);
     }
     return $result;
 }
 /**
  * @param array $variables
  * @param array $functions
  * @param array $expectedVTI
  * @param array $expectedFTI
  * @param array $expectedDTI
  *
  * @dataProvider typeInfoDataProvider
  */
 public function testTypeInfo($variables, $functions, $expectedVTI, $expectedFTI, $expectedDTI)
 {
     $context = new DynamicContext($variables, $functions);
     $descriptor = $context->getContextDescriptor();
     $this->assertEquals($expectedVTI, $descriptor->getVariableTypeInfo());
     $this->assertEquals($expectedFTI, $descriptor->getFunctionTypeInfo());
     $this->assertEquals($expectedDTI, $descriptor->getDetailedTypeInfo());
 }