public function findImplementedInterfaceNames($stackPtr)
{
// Check for the existence of the token.
if (isset($this->_tokens[$stackPtr]) === false) {
return false;
}
if ($this->_tokens[$stackPtr]['code'] !== T_CLASS) {
return false;
}
if (isset($this->_tokens[$stackPtr]['scope_closer']) === false) {
return false;
}
$classOpenerIndex = $this->_tokens[$stackPtr]['scope_opener'];
$implementsIndex = $this->findNext(T_IMPLEMENTS, $stackPtr, $classOpenerIndex);
if ($implementsIndex === false) {
return false;
}
$find = array(T_NS_SEPARATOR, T_STRING, T_WHITESPACE, T_COMMA);
$end = $this->findNext($find, $implementsIndex + 1, $classOpenerIndex + 1, true);
$name = $this->getTokensAsString($implementsIndex + 1, $end - $implementsIndex - 1);
$name = trim($name);
if ($name === '') {
return false;
} else {
$names = explode(',', $name);
$names = array_map('trim', $names);
return $names;
}
}