/** * Pass an instance of an object to this method to reflect it * * @param object $object * @return ReflectionClass */ public static function createFromInstance($object) { if (gettype($object) !== 'object') { throw new \InvalidArgumentException('Can only create from an instance of an object'); } $reflector = ClassReflector::buildDefaultReflector(); $reflectionClass = $reflector->reflect(get_class($object)); return new self($reflector, $reflectionClass, $object); }
/** * Create a ReflectionClass by name, using default reflectors etc. * * @param string $className * @return ReflectionClass */ public static function createFromName($className) { return ClassReflector::buildDefaultReflector()->reflect($className); }
public function testIsInternalWithInternalClass() { $reflector = ClassReflector::buildDefaultReflector(); $classInfo = $reflector->reflect('stdClass'); $this->assertTrue($classInfo->isInternal()); $this->assertFalse($classInfo->isUserDefined()); }
/** * Create a ReflectionFunction for the specified $functionName. * * @param string $functionName * @return \BetterReflection\Reflection\ReflectionFunction */ public function reflect($functionName) { return $this->sourceLocator->locateIdentifier(ClassReflector::buildDefaultReflector(), new Identifier($functionName, new IdentifierType(IdentifierType::IDENTIFIER_FUNCTION))); }
public function testBuildDefaultReflector() { $defaultReflector = ClassReflector::buildDefaultReflector(); $sourceLocator = $this->getObjectAttribute($defaultReflector, 'sourceLocator'); $this->assertInstanceOf(AggregateSourceLocator::class, $sourceLocator); }
public function testThrowsExceptionWhenIdentifierNotFound() { $defaultReflector = ClassReflector::buildDefaultReflector(); $this->expectException(IdentifierNotFound::class); $defaultReflector->reflect('Something\\That\\Should\\Not\\Exist'); }