--TEST--
ReflectionObject::IsInstantiable() - variation - constructors
--FILE--
<?php

class noCtor {
    public static function 
reflectionObjectFactory() {
        return new 
ReflectionObject(new self);
    }    
}

class 
publicCtorNew {
    public function 
__construct() {}
    public static function 
reflectionObjectFactory() {
        return new 
ReflectionObject(new self);
    }    
}

class 
protectedCtorNew {
    protected function 
__construct() {}
    public static function 
reflectionObjectFactory() {
        return new 
ReflectionObject(new self);
    }    
}

class 
privateCtorNew {
    private function 
__construct() {}
    public static function 
reflectionObjectFactory() {
        return new 
ReflectionObject(new self);
    }    
}

class 
publicCtorOld {
    public function 
publicCtorOld() {}
    public static function 
reflectionObjectFactory() {
        return new 
ReflectionObject(new self);
    }    
}

class 
protectedCtorOld {
    protected function 
protectedCtorOld() {}
    public static function 
reflectionObjectFactory() {
        return new 
ReflectionObject(new self);
    }    
}

class 
privateCtorOld {
    private function 
privateCtorOld() {}
    public static function 
reflectionObjectFactory() {
        return new 
ReflectionObject(new self);
    }    
}


$reflectionObjects = array(
        
noCtor::reflectionObjectFactory(),
        
publicCtorNew::reflectionObjectFactory(),
        
protectedCtorNew::reflectionObjectFactory(),
        
privateCtorNew::reflectionObjectFactory(),
        
publicCtorOld::reflectionObjectFactory(), 
        
protectedCtorOld::reflectionObjectFactory(),
        
privateCtorOld::reflectionObjectFactory()
    );

foreach(
$reflectionObjects  as $reflectionObject ) {
    
$name $reflectionObject->getName();
    echo 
"Is $name instantiable? ";
    
var_dump($reflectionObject->IsInstantiable()); 
}
?>
--EXPECTF--
Is noCtor instantiable? bool(true)
Is publicCtorNew instantiable? bool(true)
Is protectedCtorNew instantiable? bool(false)
Is privateCtorNew instantiable? bool(false)
Is publicCtorOld instantiable? bool(true)
Is protectedCtorOld instantiable? bool(false)
Is privateCtorOld instantiable? bool(false)