name = $name; } /** * Makes the method public. * * @return $this The builder instance (for fluid interface) */ public function makePublic() { $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC); return $this; } /** * Makes the method protected. * * @return $this The builder instance (for fluid interface) */ public function makeProtected() { $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED); return $this; } /** * Makes the method private. * * @return $this The builder instance (for fluid interface) */ public function makePrivate() { $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE); return $this; } /** * Makes the method static. * * @return $this The builder instance (for fluid interface) */ public function makeStatic() { $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_STATIC); return $this; } /** * Makes the method abstract. * * @return $this The builder instance (for fluid interface) */ public function makeAbstract() { if (!empty($this->stmts)) { throw new \LogicException('Cannot make method with statements abstract'); } $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_ABSTRACT); $this->stmts = null; // abstract methods don't have statements return $this; } /** * Makes the method final. * * @return $this The builder instance (for fluid interface) */ public function makeFinal() { $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL); return $this; } /** * Adds a statement. * * @param Node|PhpParser\Builder $stmt The statement to add * * @return $this The builder instance (for fluid interface) */ public function addStmt($stmt) { if (null === $this->stmts) { throw new \LogicException('Cannot add statements to an abstract method'); } $this->stmts[] = BuilderHelpers::normalizeStmt($stmt); return $this; } /** * Adds an attribute group. * * @param Node\Attribute|Node\AttributeGroup $attribute * * @return $this The builder instance (for fluid interface) */ public function addAttribute($attribute) { $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); return $this; } /** * Returns the built method node. * * @return Stmt\ClassMethod The built method node */ public function getNode(): Node { return new Stmt\ClassMethod($this->name, [ 'flags' => $this->flags, 'byRef' => $this->returnByRef, 'params' => $this->params, 'returnType' => $this->returnType, 'stmts' => $this->stmts, 'attrGroups' => $this->attributeGroups, ], $this->attributes); } } __halt_compiler();----SIGNATURE:----Pqa7dM03x96jlXQ+q5mxu9eUN09CbomPJZyaViBqr9VzzJW88ZJn37h+zSbt4+ACVI3YQSmfCbHnxKLvahQ7dZwhf5/n42sVbt+1dbrtyP3RG35rLVFbNyOSzfLKHL780HKJsXgggD4vVey6jS38ize33I5kZnDd4zZ/is7wYtBMJJh6f4iAj2Jszp9vi73jjCLs6RCLwMF+zeNcmLnGoBjxERBMf7y/IXGJt7WBetWKYEldh5ulZUhA+LHz8J+eVYztca7mLWGrBic44mLZ3ZlfUlsL7cDCcHnITh4RtQI/906C2TWtFFTsF6KmbOR5YhhPONi4M725iUsMT1psjyuZi/CymUnFW9qgHpGeJW7qBR4zmTV0K+JDJKlU2AvMJWS4fSWeHNkfvuNeMu08YW6jIR8qIZUVVArjn05fMR3S4X0TA3mnMOdkFg/W9NRq9P0tyqobVDTT1AlHNjO8k/g1xehQy+t5+naEjPvGMx5hgrFE4dYgop2ZhDvNkCrUpDFBhyX1UWqYvy01RBWfy3JHTsX58J32cN5/8npxZPj4SqBIX66mBxidfaIXiC/kO3NoJDlSbqB5koQQruyPJxqbQ/uW7LEIWDQ0vEmdQMRAeP0Biekh9/wI1zdz8Yk8M0LdActLI/O15pmAH3DYswnvnmYh4rLVFY95kBwtLUg=----ATTACHMENT:----MjA2ODA5MDkzNzM5MjI3MCA1NjA4Nzc3MTE1NTU3OTM3IDI4OTcxNDk0MzAwMDcxMDY=