PHP Class Phan\CodeBase

In order to understand internal classes, interfaces, traits and functions, a CodeBase needs to be initialized with the list of those elements begotten before any classes are loaded. # Example Grab these before we define our own classes $internal_class_name_list = get_declared_classes(); $internal_interface_name_list = get_declared_interfaces(); $internal_trait_name_list = get_declared_traits(); $internal_function_name_list = get_defined_functions()['internal']; Load any required code ... $code_base = new CodeBase( $internal_class_name_list, $internal_interface_name_list, $internal_trait_name_list, $internal_function_name_list ); Do stuff ...
Show file Open project: etsy/phan Class Usage Examples

Public Methods

Method Description
__clone ( ) Clone dependent objects when cloning this object
__construct ( array $internal_class_name_list, array $internal_interface_name_list, array $internal_trait_name_list, array $internal_function_name_list ) Initialize a new CodeBase
addClass ( Clazz $class ) : void
addClassConstant ( Phan\Language\Element\ClassConstant $class_constant ) : void
addFunction ( Func $function ) : void
addGlobalConstant ( Phan\Language\Element\GlobalConstant $global_constant ) : void
addMethod ( Method $method ) : void
addProperty ( Phan\Language\Element\Property $property ) : void
dependencyListForFile ( string $file_path ) : array
exportFunctionAndMethodSet ( ) : array
flushDependenciesForFile ( string $file_path ) : void;
getClassByFQSEN ( FullyQualifiedClassName $fqsen ) : Clazz
getClassConstantByFQSEN ( FullyQualifiedClassConstantName $fqsen ) : Phan\Language\Element\ClassConstant
getClassConstantMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
getClassMap ( ) : Phan\Library\Map
getClassMapMap ( ) : Phan\Library\Map
getFunctionAndMethodSet ( ) : Phan\Library\Set
getFunctionByFQSEN ( FullyQualifiedFunctionName $fqsen ) : Func
getFunctionMap ( ) : Phan\Library\Map
getGlobalConstantByFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : Phan\Language\Element\GlobalConstant
getGlobalConstantMap ( ) : Phan\Library\Map
getMethodByFQSEN ( FullyQualifiedMethodName $fqsen ) : Method
getMethodMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
getMethodSetByName ( string $name ) : Phan\Library\Set
getPropertyByFQSEN ( Phan\Language\FQSEN\FullyQualifiedPropertyName $fqsen ) : Phan\Language\Element\Property
getPropertyMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
hasClassConstantWithFQSEN ( FullyQualifiedClassConstantName $fqsen ) : boolean
hasClassWithFQSEN ( FullyQualifiedClassName $fqsen ) : boolean
hasFunctionWithFQSEN ( FullyQualifiedFunctionName $fqsen ) : boolean
hasGlobalConstantWithFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : boolean
hasMethodWithFQSEN ( FullyQualifiedMethodName $fqsen ) : boolean
hasPropertyWithFQSEN ( Phan\Language\FQSEN\FullyQualifiedPropertyName $fqsen ) : boolean
setShouldHydrateRequestedElements ( boolean $should_hydrate_requested_elements ) : void
store ( ) : void
totalElementCount ( ) : integer

Private Methods

Method Description
addClassesByNames ( array $class_name_list ) : null
addFunctionsByNames ( array $function_name_list )
getClassMapByFQSEN ( FullyQualifiedClassElement $fqsen ) : ClassMap
getClassMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : ClassMap
hasInternalFunctionWithFQSEN ( FullyQualifiedFunctionName $fqsen ) : boolean

Method Details

__clone() public method

Clone dependent objects when cloning this object
public __clone ( )

__construct() public method

Initialize a new CodeBase
public __construct ( array $internal_class_name_list, array $internal_interface_name_list, array $internal_trait_name_list, array $internal_function_name_list )
$internal_class_name_list array
$internal_interface_name_list array
$internal_trait_name_list array
$internal_function_name_list array

addClass() public method

public addClass ( Clazz $class ) : void
$class Phan\Language\Element\Clazz A class to add.
return void

addClassConstant() public method

public addClassConstant ( Phan\Language\Element\ClassConstant $class_constant ) : void
$class_constant Phan\Language\Element\ClassConstant A class constant to add to the code base
return void

addFunction() public method

public addFunction ( Func $function ) : void
$function Phan\Language\Element\Func A function to add to the code base
return void

addGlobalConstant() public method

public addGlobalConstant ( Phan\Language\Element\GlobalConstant $global_constant ) : void
$global_constant Phan\Language\Element\GlobalConstant A global constant to add to the code base
return void

addMethod() public method

public addMethod ( Method $method ) : void
$method Phan\Language\Element\Method A method to add to the code base
return void

addProperty() public method

public addProperty ( Phan\Language\Element\Property $property ) : void
$property Phan\Language\Element\Property A property to add to the code base
return void

dependencyListForFile() public method

public dependencyListForFile ( string $file_path ) : array
$file_path string
return array The list of files that depend on the code in the given file path

exportFunctionAndMethodSet() public method

public exportFunctionAndMethodSet ( ) : array
return array - A human readable encoding of $this->func_and_method_set [string $filename => [int|string $pos => string $spec]] Excludes internal functions and methods.

flushDependenciesForFile() public method

public flushDependenciesForFile ( string $file_path ) : void;
$file_path string
return void;

getClassByFQSEN() public method

public getClassByFQSEN ( FullyQualifiedClassName $fqsen ) : Clazz
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName The FQSEN of a class to get
return Phan\Language\Element\Clazz A class with the given FQSEN

getClassConstantByFQSEN() public method

public getClassConstantByFQSEN ( FullyQualifiedClassConstantName $fqsen ) : Phan\Language\Element\ClassConstant
$fqsen Phan\Language\FQSEN\FullyQualifiedClassConstantName The FQSEN of a class constant to get
return Phan\Language\Element\ClassConstant A class constant with the given FQSEN

getClassConstantMapByFullyQualifiedClassName() public method

public getClassConstantMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
return array The set of class constants associated with the given class

getClassMap() public method

public getClassMap ( ) : Phan\Library\Map
return Phan\Library\Map A list of all classes

getClassMapMap() public method

public getClassMapMap ( ) : Phan\Library\Map
return Phan\Library\Map

getFunctionAndMethodSet() public method

public getFunctionAndMethodSet ( ) : Phan\Library\Set
return Phan\Library\Set The set of all methods and functions

getFunctionByFQSEN() public method

public getFunctionByFQSEN ( FullyQualifiedFunctionName $fqsen ) : Func
$fqsen Phan\Language\FQSEN\FullyQualifiedFunctionName The FQSEN of a function to get
return Phan\Language\Element\Func A function with the given FQSEN

getFunctionMap() public method

public getFunctionMap ( ) : Phan\Library\Map
return Phan\Library\Map

getGlobalConstantByFQSEN() public method

public getGlobalConstantByFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : Phan\Language\Element\GlobalConstant
$fqsen Phan\Language\FQSEN\FullyQualifiedGlobalConstantName The FQSEN of a global constant to get
return Phan\Language\Element\GlobalConstant A global constant with the given FQSEN

getGlobalConstantMap() public method

public getGlobalConstantMap ( ) : Phan\Library\Map
return Phan\Library\Map

getMethodByFQSEN() public method

public getMethodByFQSEN ( FullyQualifiedMethodName $fqsen ) : Method
$fqsen Phan\Language\FQSEN\FullyQualifiedMethodName The FQSEN of a method to get
return Phan\Language\Element\Method A method with the given FQSEN

getMethodMapByFullyQualifiedClassName() public method

public getMethodMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
return array The set of methods associated with the given class

getMethodSetByName() public method

public getMethodSetByName ( string $name ) : Phan\Library\Set
$name string
return Phan\Library\Set A set of all known methods with the given name

getPropertyByFQSEN() public method

public getPropertyByFQSEN ( Phan\Language\FQSEN\FullyQualifiedPropertyName $fqsen ) : Phan\Language\Element\Property
$fqsen Phan\Language\FQSEN\FullyQualifiedPropertyName The FQSEN of a property to get
return Phan\Language\Element\Property A property with the given FQSEN

getPropertyMapByFullyQualifiedClassName() public method

public getPropertyMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
return array The set of properties associated with the given class

hasClassConstantWithFQSEN() public method

public hasClassConstantWithFQSEN ( FullyQualifiedClassConstantName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedClassConstantName
return boolean True if an element with the given FQSEN exists

hasClassWithFQSEN() public method

public hasClassWithFQSEN ( FullyQualifiedClassName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
return boolean True if an element with the given FQSEN exists

hasFunctionWithFQSEN() public method

public hasFunctionWithFQSEN ( FullyQualifiedFunctionName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedFunctionName
return boolean True if an element with the given FQSEN exists

hasGlobalConstantWithFQSEN() public method

public hasGlobalConstantWithFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedGlobalConstantName
return boolean True if an element with the given FQSEN exists

hasMethodWithFQSEN() public method

public hasMethodWithFQSEN ( FullyQualifiedMethodName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedMethodName
return boolean True if an element with the given FQSEN exists

hasPropertyWithFQSEN() public method

public hasPropertyWithFQSEN ( Phan\Language\FQSEN\FullyQualifiedPropertyName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedPropertyName
return boolean True if an element with the given FQSEN exists

setShouldHydrateRequestedElements() public method

public setShouldHydrateRequestedElements ( boolean $should_hydrate_requested_elements ) : void
$should_hydrate_requested_elements boolean
return void

store() public method

public store ( ) : void
return void

totalElementCount() public method

public totalElementCount ( ) : integer
return integer The total number of elements of all types in the code base.