/** * @param \phan\Context $context * The context in which the structural element lives * * @param string $name, * The name of the typed structural element * * @param UnionType $type, * A '|' delimited set of types satisfyped by this * typed structural element. * * @param int $flags, * The flags property contains node specific flags. It is * always defined, but for most nodes it is always zero. * ast\kind_uses_flags() can be used to determine whether * a certain kind has a meaningful flags value. * * @param int $number_of_required_parameters * * @param int $number_of_optional_parameters * * @param bool $is_dynamic */ public function __construct(Context $context, string $name, UnionType $type, int $flags, int $number_of_required_parameters = 0, int $number_of_optional_parameters = 0, bool $is_dynamic = false) { parent::__construct($context, $name, $type, $flags); $this->number_of_required_parameters = $number_of_required_parameters; $this->number_of_optional_parameters = $number_of_optional_parameters; $this->is_dynamic = $is_dynamic; }
/** * @param Context $context * The context in which the structural element lives * * @param string $name, * The name of the typed structural element * * @param UnionType $type, * A '|' delimited set of types satisfyped by this * typed structural element. * * @param int $flags, * The flags property contains node specific flags. It is * always defined, but for most nodes it is always zero. * ast\kind_uses_flags() can be used to determine whether * a certain kind has a meaningful flags value. * * @param FullyQualifiedClassName|null $parent_class_fqsen * @param FullyQualifiedClassName[]|null $interface_fqsen_list * @param FullyQualifiedClassName[]|null $trait_fqsen_list */ public function __construct(Context $context, string $name, UnionType $type, int $flags, FullyQualifiedClassName $parent_class_fqsen = null, array $interface_fqsen_list = [], array $trait_fqsen_list = []) { // Add variable '$this' to the scope $context = $context->withScopeVariable(new Variable($context, 'this', $type, 0)); parent::__construct($context, $name, $type, $flags); $this->parent_class_fqsen = $parent_class_fqsen; $this->interface_fqsen_list = $interface_fqsen_list; $this->trait_fqsen_list = $trait_fqsen_list; }
/** * @param \phan\Context $context * The context in which the structural element lives * * @param string $name, * The name of the typed structural element * * @param UnionType $type, * A '|' delimited set of types satisfyped by this * typed structural element. * * @param int $flags, * The flags property contains node specific flags. It is * always defined, but for most nodes it is always zero. * ast\kind_uses_flags() can be used to determine whether * a certain kind has a meaningful flags value. */ public function __construct(Context $context, string $name, UnionType $type, int $flags) { parent::__construct($context, $name, $type, $flags); }