public function __construct($types, MockFactory $factory, HandleFactory $handleFactory, InvocableInspector $invocableInspector, FeatureDetector $featureDetector)
{
$this->isTraitSupported = $featureDetector->isSupported('trait');
$this->isAnonymousClassSupported = $featureDetector->isSupported('class.anonymous');
$this->isRelaxedKeywordsSupported = $featureDetector->isSupported('parser.relaxed-keywords');
$this->isEngineErrorExceptionSupported = $featureDetector->isSupported('error.exception.engine');
$this->isDateTimeInterfaceSupported = interface_exists('DateTimeInterface');
$this->factory = $factory;
$this->handleFactory = $handleFactory;
$this->invocableInspector = $invocableInspector;
$this->featureDetector = $featureDetector;
$this->types = array();
$this->parentClassName = null;
$this->customMethods = array();
$this->customProperties = array();
$this->customStaticMethods = array();
$this->customStaticProperties = array();
$this->customConstants = array();
$this->isFinalized = false;
$this->emptyCallback = function () {
};
if (null !== $types) {
$this->like($types);
}
}