Chris@13: flags = $flags; Chris@0: $this->consts = $consts; Chris@0: } Chris@0: Chris@13: public function getSubNodeNames() : array { Chris@13: return ['flags', 'consts']; Chris@0: } Chris@0: Chris@13: /** Chris@13: * Whether constant is explicitly or implicitly public. Chris@13: * Chris@13: * @return bool Chris@13: */ Chris@13: public function isPublic() : bool { Chris@0: return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0 Chris@0: || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0; Chris@0: } Chris@0: Chris@13: /** Chris@13: * Whether constant is protected. Chris@13: * Chris@13: * @return bool Chris@13: */ Chris@13: public function isProtected() : bool { Chris@0: return (bool) ($this->flags & Class_::MODIFIER_PROTECTED); Chris@0: } Chris@0: Chris@13: /** Chris@13: * Whether constant is private. Chris@13: * Chris@13: * @return bool Chris@13: */ Chris@13: public function isPrivate() : bool { Chris@0: return (bool) ($this->flags & Class_::MODIFIER_PRIVATE); Chris@0: } Chris@13: Chris@13: public function getType() : string { Chris@13: return 'Stmt_ClassConst'; Chris@0: } Chris@0: }