/**
  * Resolve a kind provided by `AopJoinPoint` to a kind for AOP.io API.
  *
  * @see \Aop\KindConstantInterface
  * @see PeclAopInterceptor::resolveJoinPoint()
  *
  * @param  int  $kind  AOP_KIND_*
  * @return int  The kind
  * @throws \Aop\Exception\KindException If the kind is invalid.
  */
 protected function resolveKind($kind)
 {
     $kinds = [AOP_KIND_BEFORE => Aop::KIND_BEFORE, AOP_KIND_AFTER => Aop::KIND_AFTER, AOP_KIND_AROUND => Aop::KIND_AROUND, AOP_KIND_PROPERTY => Aop::KIND_PROPERTY, AOP_KIND_FUNCTION => Aop::KIND_FUNCTION, AOP_KIND_METHOD => Aop::KIND_METHOD, AOP_KIND_READ => Aop::KIND_READ, AOP_KIND_WRITE => Aop::KIND_WRITE, AOP_KIND_AROUND_WRITE_PROPERTY => Aop::KIND_AROUND_PROPERTY_WRITE, AOP_KIND_AROUND_READ_PROPERTY => Aop::KIND_AROUND_PROPERTY_READ, AOP_KIND_BEFORE_WRITE_PROPERTY => Aop::KIND_BEFORE_PROPERTY_WRITE, AOP_KIND_BEFORE_READ_PROPERTY => Aop::KIND_BEFORE_PROPERTY_READ, AOP_KIND_AFTER_WRITE_PROPERTY => Aop::KIND_AFTER_PROPERTY_WRITE, AOP_KIND_AFTER_READ_PROPERTY => Aop::KIND_AFTER_PROPERTY_READ, AOP_KIND_BEFORE_METHOD => Aop::KIND_BEFORE_METHOD, AOP_KIND_AFTER_METHOD => Aop::KIND_AFTER_METHOD, AOP_KIND_AROUND_METHOD => Aop::KIND_AROUND_METHOD, AOP_KIND_BEFORE_FUNCTION => Aop::KIND_BEFORE_FUNCTION, AOP_KIND_AFTER_FUNCTION => Aop::KIND_AFTER_FUNCTION, AOP_KIND_AROUND_FUNCTION => Aop::KIND_AROUND_FUNCTION, 836 => Aop::KIND_AFTER_METHOD, 580 => Aop::KIND_AFTER_METHOD_RETURN, 324 => Aop::KIND_AFTER_METHOD_THROW, 900 => Aop::KIND_AFTER_FUNCTION, 644 => Aop::KIND_AFTER_FUNCTION_RETURN, 388 => Aop::KIND_AFTER_FUNCTION_THROW, 820 => Aop::KIND_AFTER_PROPERTY_WRITE, 812 => Aop::KIND_AFTER_PROPERTY_READ];
     if (!array_key_exists($kind, $kinds) or !Aop::isValidKind($kinds[$kind])) {
         throw new KindException('The kind (' . $kind . ') is invalid.');
     }
     return $kinds[$kind];
 }
Exemple #2
0
 public function testIsValidKind()
 {
     new _Aop();
     $this->boolean(_Aop::isValidKind(-1000))->isFalse()->boolean(_Aop::isValidKind(_Aop::KIND_BEFORE))->isTrue()->boolean(_Aop::isValidKind('before'))->isFalse()->boolean(_Aop::isValidKind('beforeeeee'))->isFalse()->boolean(_Aop::isValidKind('before', false))->isTrue();
 }