FunctionAssembler
extends AssemblerAbstract
in package
Assembles a FunctionDescriptor from a FunctionReflector.
Table of Contents
Properties
- $builder : ProjectDescriptorBuilder|null
- $argumentAssembler : ArgumentAssembler
- $reducers : array<string|int, AssemblerReducer>
Methods
- __construct() : mixed
- Initializes this assembler and its dependencies.
- buildDescriptor() : TDescriptor|null
- Creates a Descriptor from the provided data.
- create() : TDescriptor|null
- Creates a Descriptor from the provided data.
- deduplicateTypes() : Type|null
- getBuilder() : ProjectDescriptorBuilder|null
- Returns the builder for this Assembler or null if none is set.
- setBuilder() : void
- Registers the Builder with this Assembler.
- addArgumentDescriptorToFunction() : void
- Adds the given argument to the function.
- addArgumentsToFunctionDescriptor() : void
- Converts each argument reflector to an argument descriptor and adds it to the function descriptor.
- assembleDocBlock() : void
- Assemble DocBlock.
- createArgumentDescriptor() : ArgumentInterface
- Creates a new ArgumentDescriptor from the given Reflector and Param.
- extractPackageFromDocBlock() : string|null
- Extracts the package from the DocBlock.
- mapReflectorPropertiesOntoDescriptor() : void
- Maps the properties of the Function reflector onto the Descriptor.
Properties
$builder
protected
ProjectDescriptorBuilder|null
$builder
$argumentAssembler read-only
private
ArgumentAssembler
$argumentAssembler
$reducers read-only
private
array<string|int, AssemblerReducer>
$reducers
Methods
__construct()
Initializes this assembler and its dependencies.
public
__construct(ArgumentAssembler $argumentAssembler, AssemblerReducer ...$reducers) : mixed
Parameters
- $argumentAssembler : ArgumentAssembler
- $reducers : AssemblerReducer
buildDescriptor()
Creates a Descriptor from the provided data.
public
buildDescriptor(Function_ $data) : TDescriptor|null
Parameters
- $data : Function_
Return values
TDescriptor|nullcreate()
Creates a Descriptor from the provided data.
public
create(TInput $data) : TDescriptor|null
Parameters
- $data : TInput
Return values
TDescriptor|nulldeduplicateTypes()
public
static deduplicateTypes(Type|null $type) : Type|null
the functionality in this method has been moved to the Compound type in the latest unreleased version of the TypeResolver library
Parameters
- $type : Type|null
Return values
Type|nullgetBuilder()
Returns the builder for this Assembler or null if none is set.
public
getBuilder() : ProjectDescriptorBuilder|null
Return values
ProjectDescriptorBuilder|nullsetBuilder()
Registers the Builder with this Assembler.
public
setBuilder(ProjectDescriptorBuilder $builder) : void
The Builder may be used to recursively assemble Descriptors using the method.
Parameters
- $builder : ProjectDescriptorBuilder
addArgumentDescriptorToFunction()
Adds the given argument to the function.
protected
addArgumentDescriptorToFunction(FunctionInterface $functionDescriptor, ArgumentInterface $argumentDescriptor) : void
Parameters
- $functionDescriptor : FunctionInterface
- $argumentDescriptor : ArgumentInterface
addArgumentsToFunctionDescriptor()
Converts each argument reflector to an argument descriptor and adds it to the function descriptor.
protected
addArgumentsToFunctionDescriptor(array<string|int, Argument> $arguments, FunctionDescriptor $functionDescriptor) : void
Parameters
- $arguments : array<string|int, Argument>
- $functionDescriptor : FunctionDescriptor
assembleDocBlock()
Assemble DocBlock.
protected
assembleDocBlock(DocBlock|null $docBlock, DescriptorAbstract $target) : void
Parameters
- $docBlock : DocBlock|null
- $target : DescriptorAbstract
createArgumentDescriptor()
Creates a new ArgumentDescriptor from the given Reflector and Param.
protected
createArgumentDescriptor(FunctionDescriptor $functionDescriptor, Argument $argument) : ArgumentInterface
Parameters
- $functionDescriptor : FunctionDescriptor
- $argument : Argument
Return values
ArgumentInterfaceextractPackageFromDocBlock()
Extracts the package from the DocBlock.
protected
extractPackageFromDocBlock(DocBlock|null $docBlock) : string|null
Parameters
- $docBlock : DocBlock|null
Return values
string|nullmapReflectorPropertiesOntoDescriptor()
Maps the properties of the Function reflector onto the Descriptor.
protected
mapReflectorPropertiesOntoDescriptor(Function_ $reflector, FunctionDescriptor $descriptor) : void
Parameters
- $reflector : Function_
- $descriptor : FunctionDescriptor