PHP Class Zephir\ClassMethod

Represents a class method
Mostra file Open project: phalcon/zephir Class Usage Examples

Public Properties

Property Type Description
$optimizable

Protected Properties

Property Type Description
$callGathererPass Zephir\Passes\CallGathererPass Call Gatherer Pass
$classDefinition ClassDefinition
$docblock string
$expression array | null
$isAbstract boolean Whether the method is abstract or not
$isBundled boolean Whether the method is bundled with PHP or not
$isFinal boolean Whether the method is final or not
$isInitializer boolean Whether the method is an initializer or not
$isInternal boolean Whether the method is internal or not
$isPublic boolean Whether the method is public or not
$isStatic boolean Whether the method is static or not
$localContext Zephir\Passes\LocalContextPass LocalContextPass
$name string
$parameters ClassMethodParameters
$parsedDocblock Zephir\Documentation\Docblock
$returnClassTypes Class type hints returned by the method
$returnTypes array Types returned by the method
$returnTypesRaw array Raw-types returned by the method
$statements
$typeInference Zephir\Passes\StaticTypeInference Static Type Inference Pass
$visibility array
$void boolean Whether the variable is void

Public Methods

Method Description
__construct ( ClassDefinition $classDefinition, array $visibility, $name, $parameters, zephir\StatementsBlock $statements = null, null $docblock = null, null $returnType = null, array $original = null ) ClassMethod constructor
areReturnTypesBoolCompatible ( string $type = null ) : boolean Checks whether at least one return type hint is integer compatible
areReturnTypesDoubleCompatible ( string $type = null ) : boolean Checks whether at least one return type hint is double compatible
areReturnTypesIntCompatible ( string $type = null ) : boolean Checks whether at least one return type hint is integer compatible
areReturnTypesNullCompatible ( string $type = null ) : boolean Checks whether at least one return type hint is null compatible
areReturnTypesStringCompatible ( string $type = null ) : boolean Checks whether at least one return type hint is integer compatible
assignDefaultValue ( array $parameter, zephir\CompilationContext $compilationContext ) : string Assigns a default value
assignZvalValue ( array $parameter, zephir\CompilationContext $compilationContext ) : string Assigns a zval value to a static low-level type
checkStrictType ( array $parameter, zephir\CompilationContext $compilationContext ) : string Assigns a zval value to a static low-level type
checkVisibility ( array $visibility, string $name, array $original = null ) Checks for visibility congruence
compile ( zephir\CompilationContext $compilationContext ) : null Compiles the method
getCallGathererPass ( ) : Zephir\Passes\CallGathererPass Returns the call gatherer pass information
getClassDefinition ( ) : ClassDefinition Returns the class definition where the method was declared
getDocBlock ( ) : string Returns the raw docblock
getInternalName ( ) : string
getInternalParameters ( ) : string Returns the number of required parameters the method has
getLastLine ( ) : mixed the ending line of the method in the source file
getLine ( ) : mixed the starting line of the method in the source file
getLocalContextPass ( ) : LocalContextPass Returns the local context pass information
getModifiers ( ) : string Returns the C-modifier flags
getName ( ) : string Returns the method name
getNumberOfParameters ( ) : integer Returns the number of parameters the method has
getNumberOfRequiredParameters ( ) : integer Returns the number of required parameters the method has
getOptimizedMethod ( )
getParameters ( ) : ClassMethodParameters Returns the parameters
getParsedDocBlock ( ) : Docblock Returns the parsed docblock
getReturnClassTypes ( ) : array Returned class-type hints by the method
getReturnTypes ( ) : array Returned type hints by the method
getReturnTypesRaw ( ) : array
getShortcutName ( ) : mixed Return shortcut method name
getStatementsBlock ( ) : zephir\StatementsBlock Getter for statements block
getStaticTypeInferencePass ( ) : Zephir\Passes\StaticTypeInference Returns the static type inference pass information
getVisibility ( ) : array Returns method visibility modifiers
hasChildReturnStatementType ( array $statement ) : boolean Simple method to check if one of the paths are returning the right expected type
hasModifier ( string $modifier ) : boolean Checks whether the method has a specific modifier
hasParameters ( ) : boolean Returns the number of parameters the method has
hasReturnTypes ( ) : boolean Checks if the method has return-type or cast hints
hasReturnTypesRaw ( )
isAbstract ( ) : boolean Checks is abstract method?
isBundled ( ) : boolean Checks whether the method is bundled
isConstructor ( ) : boolean Check whether the current method is a constructor
isDeprecated ( )
isEmpty ( ) : boolean Checks whether the method is empty
isFinal ( ) : boolean Checks whether the method is final
isInitializer ( ) : boolean Checks whether the method is an initializer
isInline ( ) : boolean Checks if the method is inline
isInternal ( ) : boolean Checks whether the method is internal
isPrivate ( ) : boolean Checks if the method is private
isProtected ( ) : boolean Checks if the method is protected
isPublic ( ) : boolean Checks if the method is public
isShortcut ( ) : boolean Checks if method is a shortcut
isStatic ( ) : boolean Checks whether the method is static
isVoid ( ) : boolean Checks if the method must not return any value
preCompile ( zephir\CompilationContext $compilationContext ) : null Pre-compiles the method making compilation pass data (static inference, local-context-pass) available to other methods
removeMemoryStackReferences ( SymbolTable $symbolTable, string $containerCode ) : mixed Replace macros
setIsBundled ( boolean $bundled ) Sets if the method is bundled or not
setIsInitializer ( boolean $initializer ) Sets if the method is an initializer or not
setIsInternal ( boolean $internal ) Sets if the method is internal or not
setIsStatic ( boolean $static ) Sets if the method is internal or not
setName ( string $name ) Sets the method name
setReturnTypes ( $returnType )
setStatementsBlock ( zephir\StatementsBlock $statementsBlock ) Setter for statements block
setupOptimized ( zephir\CompilationContext $compilationContext ) Generate internal method's based on the equivalent PHP methods, allowing bypassing php userspace for internal method calls

Method Details

__construct() public method

ClassMethod constructor
public __construct ( ClassDefinition $classDefinition, array $visibility, $name, $parameters, zephir\StatementsBlock $statements = null, null $docblock = null, null $returnType = null, array $original = null )
$classDefinition ClassDefinition
$visibility array
$name
$parameters
$statements zephir\StatementsBlock
$docblock null
$returnType null
$original array

areReturnTypesBoolCompatible() public method

Checks whether at least one return type hint is integer compatible
public areReturnTypesBoolCompatible ( string $type = null ) : boolean
$type string
return boolean

areReturnTypesDoubleCompatible() public method

Checks whether at least one return type hint is double compatible
public areReturnTypesDoubleCompatible ( string $type = null ) : boolean
$type string
return boolean

areReturnTypesIntCompatible() public method

Checks whether at least one return type hint is integer compatible
public areReturnTypesIntCompatible ( string $type = null ) : boolean
$type string
return boolean

areReturnTypesNullCompatible() public method

Checks whether at least one return type hint is null compatible
public areReturnTypesNullCompatible ( string $type = null ) : boolean
$type string
return boolean

areReturnTypesStringCompatible() public method

Checks whether at least one return type hint is integer compatible
public areReturnTypesStringCompatible ( string $type = null ) : boolean
$type string
return boolean

assignDefaultValue() public method

Assigns a default value
public assignDefaultValue ( array $parameter, zephir\CompilationContext $compilationContext ) : string
$parameter array
$compilationContext zephir\CompilationContext
return string

assignZvalValue() public method

Assigns a zval value to a static low-level type
public assignZvalValue ( array $parameter, zephir\CompilationContext $compilationContext ) : string
$parameter array
$compilationContext zephir\CompilationContext
return string

checkStrictType() public method

Assigns a zval value to a static low-level type
public checkStrictType ( array $parameter, zephir\CompilationContext $compilationContext ) : string
$parameter array
$compilationContext zephir\CompilationContext
return string

checkVisibility() public method

Checks for visibility congruence
public checkVisibility ( array $visibility, string $name, array $original = null )
$visibility array
$name string
$original array

compile() public method

Compiles the method
public compile ( zephir\CompilationContext $compilationContext ) : null
$compilationContext zephir\CompilationContext
return null

getCallGathererPass() public method

Returns the call gatherer pass information
public getCallGathererPass ( ) : Zephir\Passes\CallGathererPass
return Zephir\Passes\CallGathererPass

getClassDefinition() public method

Returns the class definition where the method was declared
public getClassDefinition ( ) : ClassDefinition
return ClassDefinition

getDocBlock() public method

Returns the raw docblock
public getDocBlock ( ) : string
return string

getInternalName() public method

public getInternalName ( ) : string
return string

getInternalParameters() public method

Returns the number of required parameters the method has
public getInternalParameters ( ) : string
return string

getLastLine() public method

the ending line of the method in the source file
public getLastLine ( ) : mixed
return mixed

getLine() public method

the starting line of the method in the source file
public getLine ( ) : mixed
return mixed

getLocalContextPass() public method

Returns the local context pass information
public getLocalContextPass ( ) : LocalContextPass
return Zephir\Passes\LocalContextPass

getModifiers() public method

Returns the C-modifier flags
public getModifiers ( ) : string
return string

getName() public method

Returns the method name
public getName ( ) : string
return string

getNumberOfParameters() public method

Returns the number of parameters the method has
public getNumberOfParameters ( ) : integer
return integer

getNumberOfRequiredParameters() public method

Returns the number of required parameters the method has

getOptimizedMethod() public method

public getOptimizedMethod ( )

getParameters() public method

Returns the parameters
public getParameters ( ) : ClassMethodParameters
return ClassMethodParameters

getParsedDocBlock() public method

Returns the parsed docblock
public getParsedDocBlock ( ) : Docblock
return Zephir\Documentation\Docblock

getReturnClassTypes() public method

Returned class-type hints by the method
public getReturnClassTypes ( ) : array
return array

getReturnTypes() public method

Returned type hints by the method
public getReturnTypes ( ) : array
return array

getReturnTypesRaw() public method

public getReturnTypesRaw ( ) : array
return array

getShortcutName() public method

Return shortcut method name
public getShortcutName ( ) : mixed
return mixed

getStatementsBlock() public method

Getter for statements block
public getStatementsBlock ( ) : zephir\StatementsBlock
return zephir\StatementsBlock $statements Statements block

getStaticTypeInferencePass() public method

Returns the static type inference pass information
public getStaticTypeInferencePass ( ) : Zephir\Passes\StaticTypeInference
return Zephir\Passes\StaticTypeInference

getVisibility() public method

Returns method visibility modifiers
public getVisibility ( ) : array
return array

hasChildReturnStatementType() public method

Simple method to check if one of the paths are returning the right expected type
public hasChildReturnStatementType ( array $statement ) : boolean
$statement array
return boolean

hasModifier() public method

Checks whether the method has a specific modifier
public hasModifier ( string $modifier ) : boolean
$modifier string
return boolean

hasParameters() public method

Returns the number of parameters the method has
public hasParameters ( ) : boolean
return boolean

hasReturnTypes() public method

Checks if the method has return-type or cast hints
public hasReturnTypes ( ) : boolean
return boolean

hasReturnTypesRaw() public method

public hasReturnTypesRaw ( )

isAbstract() public method

Checks is abstract method?
public isAbstract ( ) : boolean
return boolean

isBundled() public method

Checks whether the method is bundled
public isBundled ( ) : boolean
return boolean

isConstructor() public method

Check whether the current method is a constructor
public isConstructor ( ) : boolean
return boolean

isDeprecated() public method

public isDeprecated ( )

isEmpty() public method

Checks whether the method is empty
public isEmpty ( ) : boolean
return boolean

isFinal() public method

Checks whether the method is final
public isFinal ( ) : boolean
return boolean

isInitializer() public method

Checks whether the method is an initializer
public isInitializer ( ) : boolean
return boolean

isInline() public method

Checks if the method is inline
public isInline ( ) : boolean
return boolean

isInternal() public method

Checks whether the method is internal
public isInternal ( ) : boolean
return boolean

isPrivate() public method

Checks if the method is private
public isPrivate ( ) : boolean
return boolean

isProtected() public method

Checks if the method is protected
public isProtected ( ) : boolean
return boolean

isPublic() public method

Checks if the method is public
public isPublic ( ) : boolean
return boolean

isShortcut() public method

Checks if method is a shortcut
public isShortcut ( ) : boolean
return boolean

isStatic() public method

Checks whether the method is static
public isStatic ( ) : boolean
return boolean

isVoid() public method

Checks if the method must not return any value
public isVoid ( ) : boolean
return boolean

preCompile() public method

Pre-compiles the method making compilation pass data (static inference, local-context-pass) available to other methods
public preCompile ( zephir\CompilationContext $compilationContext ) : null
$compilationContext zephir\CompilationContext
return null

removeMemoryStackReferences() public method

Replace macros
public removeMemoryStackReferences ( SymbolTable $symbolTable, string $containerCode ) : mixed
$symbolTable SymbolTable
$containerCode string
return mixed

setIsBundled() public method

Sets if the method is bundled or not
public setIsBundled ( boolean $bundled )
$bundled boolean

setIsInitializer() public method

Sets if the method is an initializer or not
public setIsInitializer ( boolean $initializer )
$initializer boolean

setIsInternal() public method

Sets if the method is internal or not
public setIsInternal ( boolean $internal )
$internal boolean

setIsStatic() public method

Sets if the method is internal or not
public setIsStatic ( boolean $static )
$static boolean

setName() public method

Sets the method name
public setName ( string $name )
$name string

setReturnTypes() public method

public setReturnTypes ( $returnType )

setStatementsBlock() public method

Setter for statements block
public setStatementsBlock ( zephir\StatementsBlock $statementsBlock )
$statementsBlock zephir\StatementsBlock

setupOptimized() public method

Generate internal method's based on the equivalent PHP methods, allowing bypassing php userspace for internal method calls
public setupOptimized ( zephir\CompilationContext $compilationContext )
$compilationContext zephir\CompilationContext

Property Details

$callGathererPass protected_oe property

Call Gatherer Pass
protected CallGathererPass,Zephir\Passes $callGathererPass
return Zephir\Passes\CallGathererPass

$classDefinition protected_oe property

protected ClassDefinition,zephir $classDefinition
return ClassDefinition

$docblock protected_oe property

protected string $docblock
return string

$expression protected_oe property

protected array|null $expression
return array | null

$isAbstract protected_oe property

Whether the method is abstract or not
protected bool $isAbstract
return boolean

$isBundled protected_oe property

Whether the method is bundled with PHP or not
protected bool $isBundled
return boolean

$isFinal protected_oe property

Whether the method is final or not
protected bool $isFinal
return boolean

$isInitializer protected_oe property

Whether the method is an initializer or not
protected bool $isInitializer
return boolean

$isInternal protected_oe property

Whether the method is internal or not
protected bool $isInternal
return boolean

$isPublic protected_oe property

Whether the method is public or not
protected bool $isPublic
return boolean

$isStatic protected_oe property

Whether the method is static or not
protected bool $isStatic
return boolean

$localContext protected_oe property

LocalContextPass
protected LocalContextPass,Zephir\Passes $localContext
return Zephir\Passes\LocalContextPass

$name protected_oe property

protected string $name
return string

$optimizable public_oe property

public $optimizable

$parameters protected_oe property

protected ClassMethodParameters,zephir $parameters
return ClassMethodParameters

$parsedDocblock protected_oe property

protected Docblock,Zephir\Documentation $parsedDocblock
return Zephir\Documentation\Docblock

$returnClassTypes protected_oe property

Class type hints returned by the method
protected $returnClassTypes

$returnTypes protected_oe property

Types returned by the method
protected array $returnTypes
return array

$returnTypesRaw protected_oe property

Raw-types returned by the method
protected array $returnTypesRaw
return array

$statements protected_oe property

protected $statements

$typeInference protected_oe property

Static Type Inference Pass
protected StaticTypeInference,Zephir\Passes $typeInference
return Zephir\Passes\StaticTypeInference

$visibility protected_oe property

protected array $visibility
return array

$void protected_oe property

Whether the variable is void
protected bool $void
return boolean