name = $reflectionObject->getName(); foreach ($reflectionObject->getMethods() as $method) { if ($method->getDeclaringClass()->getName() !== $this->name) { continue; } $this->methods[$method->name] = (new PHPMethod())->readObjectFromReflection($method); } $this->parentInterfaces = $reflectionObject->getInterfaceNames(); if (method_exists($reflectionObject, 'getReflectionConstants')) { foreach ($reflectionObject->getReflectionConstants() as $constant) { if ($constant->getDeclaringClass()->getName() !== $this->name) { continue; } $this->constants[$constant->name] = (new PHPConst())->readObjectFromReflection($constant); } } return $this; } /** * @param Interface_ $node * @return static */ public function readObjectFromStubNode($node) { $this->name = self::getFQN($node); $this->collectTags($node); $this->availableVersionsRangeFromAttribute = self::findAvailableVersionsRangeFromAttribute($node->attrGroups); if (!empty($node->extends)) { foreach ($node->extends as $extend) { $this->parentInterfaces[] = implode('\\', $extend->parts); } } return $this; } /** * @param stdClass|array $jsonData * @throws Exception */ public function readMutedProblems($jsonData) { foreach ($jsonData as $interface) { if ($interface->name === $this->name) { if (!empty($interface->problems)) { foreach ($interface->problems as $problem) { switch ($problem->description) { case 'wrong parent': $this->mutedProblems[StubProblemType::WRONG_PARENT] = $problem->versions; break; case 'missing interface': $this->mutedProblems[StubProblemType::STUB_IS_MISSED] = $problem->versions; break; default: throw new Exception("Unexpected value $problem->description"); } } } if (!empty($interface->methods)) { foreach ($this->methods as $method) { $method->readMutedProblems($interface->methods); } } if (!empty($interface->constants)) { foreach ($this->constants as $constant) { $constant->readMutedProblems($interface->constants); } } } } } } __halt_compiler();----SIGNATURE:----Dg+YP7RVaTrwOTfy+dkKGQc4ldpxPIjvG3qPhjaKPhSE5dcMerRa2lYyDI5A+mNl8yrEUN4JIgE6JhCFcwq2LTCxoysmWltah6h7Ya+mD+Uza8HeuNC844mD8iP9JH+99HATNaNitR19j9HeW6fsx6xpaJUY+Swe+k12UhR5EfbhRzwSfL/v4+Q2wjdby84u/0LxTExF8QzZA1NtxJKxpRotHclvr08CT1edG2CQ06+n5DEdCXf8GfsKZKoVPKVsWhWxYSfCHAJWKkwsqT5i1dYVgwOzZnWLHf0BXOpXfePbTEejgd+L95Dr75GyIqzVCO8C4mcDjjnanSu8DCXVWuA2KDVrtS8+7BWjgHXgb0EC5h1aWBPgiknAsmOBuOTdXcoMt8ybveJScSWOJq3Za9uWmzuAGNLaNqu7GBQIWl8amXgeWZatGMFfGdzW4/cA5tgPZp0gguPvK21FtgYVcs6CEI65ct7DaDEPh9LpADSEx9+oNEX05q9EVbYJqSI0QIfz+mzoenUnTM3P5D4f0RKzIxqx7sr5ijnIQc2dB+5Qm4lvYQP0rZ3n0L8TYC4rE1/RXlY1bGptKsVtWPy+2XXnTi1g1HCxp42cpapWK4+iTt4C7wrD+yTlS3E0Stgki6FKNpnP6xoM2Kint8CSFaHBg6oZA9O90MyXD59SyEo=----ATTACHMENT:----ODUzNzcyNzM1OTU5ODAzMiAxNTkwMTUxMzAxOTA2NTM1IDE3MDA5MTcxMTE3Mjk5MjQ=