PHP Class Pinq\Analysis\TypeSystem

Author: Elliot Levin ([email protected])
Inheritance: implements Pinq\Analysis\ITypeSystem
Show file Open project: timetoogo/pinq Class Usage Examples

Protected Properties

Property Type Description
$binaryOperations Pinq\Analysis\IBinaryOperation[]
$compositeTypes Pinq\Analysis\ICompositeType[]
$customTypes Pinq\Analysis\IType[]
$functions Pinq\Analysis\IFunction[]
$nativeTypes Pinq\Analysis\INativeType[]
$objectTypes Pinq\Analysis\IObjectType[]

Public Methods

Method Description
__construct ( )
getBinaryOperation ( Pinq\Analysis\IType $leftOperandType, $operator, Pinq\Analysis\IType $rightOperandType )
getCompositeType ( array $types )
getFunction ( $name )
getNativeType ( $nativeType )
getObjectType ( $classType )
getType ( $typeIdentifier )

Protected Methods

Method Description
binaryOperations ( ) : array[]
buildBinaryOperations ( ) : Pinq\Analysis\IBinaryOperation[]
buildCompositeType ( string $typeId, array $types ) : Pinq\Analysis\ICompositeType
buildFunction ( string $name ) : Pinq\Analysis\IFunction
buildNativeTypes ( ) : Pinq\Analysis\INativeType[]
buildObjectType ( string $typeId, string $classType ) : Pinq\Analysis\IObjectType
buildTypeOperations ( $type, array $operatorTypeMap = [] )
flattenComposedTypes ( array $types ) : Pinq\Analysis\IType[] Flattens all the composed types.
nativeTypes ( ) : Pinq\Analysis\INativeType[]
normalizeClassName ( string $name ) : string Performs all necessary normalization to the class name.
normalizeFunctionName ( string $name ) : string Performs all necessary normalization the function name.

Method Details

__construct() public method

public __construct ( )

binaryOperations() abstract protected method

abstract protected binaryOperations ( ) : array[]
return array[]

buildBinaryOperations() protected method

protected buildBinaryOperations ( ) : Pinq\Analysis\IBinaryOperation[]
return Pinq\Analysis\IBinaryOperation[]

buildCompositeType() abstract protected method

abstract protected buildCompositeType ( string $typeId, array $types ) : Pinq\Analysis\ICompositeType
$typeId string
$types array
return Pinq\Analysis\ICompositeType

buildFunction() abstract protected method

abstract protected buildFunction ( string $name ) : Pinq\Analysis\IFunction
$name string
return Pinq\Analysis\IFunction

buildNativeTypes() protected method

protected buildNativeTypes ( ) : Pinq\Analysis\INativeType[]
return Pinq\Analysis\INativeType[]

buildObjectType() abstract protected method

abstract protected buildObjectType ( string $typeId, string $classType ) : Pinq\Analysis\IObjectType
$typeId string
$classType string
return Pinq\Analysis\IObjectType

buildTypeOperations() protected method

protected buildTypeOperations ( $type, array $operatorTypeMap = [] )
$operatorTypeMap array

flattenComposedTypes() protected method

Flattens all the composed types.
protected flattenComposedTypes ( array $types ) : Pinq\Analysis\IType[]
$types array
return Pinq\Analysis\IType[]

getBinaryOperation() public method

public getBinaryOperation ( Pinq\Analysis\IType $leftOperandType, $operator, Pinq\Analysis\IType $rightOperandType )
$leftOperandType Pinq\Analysis\IType
$rightOperandType Pinq\Analysis\IType

getCompositeType() public method

public getCompositeType ( array $types )
$types array

getFunction() public method

public getFunction ( $name )

getNativeType() public method

public getNativeType ( $nativeType )

getObjectType() public method

public getObjectType ( $classType )

getType() public method

public getType ( $typeIdentifier )

nativeTypes() abstract protected method

abstract protected nativeTypes ( ) : Pinq\Analysis\INativeType[]
return Pinq\Analysis\INativeType[]

normalizeClassName() protected method

Performs all necessary normalization to the class name.
protected normalizeClassName ( string $name ) : string
$name string
return string

normalizeFunctionName() protected method

Performs all necessary normalization the function name.
protected normalizeFunctionName ( string $name ) : string
$name string
return string

Property Details

$binaryOperations protected property

protected IBinaryOperation[],Pinq\Analysis $binaryOperations
return Pinq\Analysis\IBinaryOperation[]

$compositeTypes protected property

protected ICompositeType[],Pinq\Analysis $compositeTypes
return Pinq\Analysis\ICompositeType[]

$customTypes protected property

protected IType[],Pinq\Analysis $customTypes
return Pinq\Analysis\IType[]

$functions protected property

protected IFunction[],Pinq\Analysis $functions
return Pinq\Analysis\IFunction[]

$nativeTypes protected property

protected INativeType[],Pinq\Analysis $nativeTypes
return Pinq\Analysis\INativeType[]

$objectTypes protected property

protected IObjectType[],Pinq\Analysis $objectTypes
return Pinq\Analysis\IObjectType[]