classPropertyDeclaration
final class PropertyDeclaration
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.
A property slot with its declaration scope and initialization expression.
Properties§
public string $namepublic string $classNamepublic string $type = 'mixed'public Visibility $visibility = Visibility::Publicpublic bool $static = falsepublic CallableGraph|null $default = nullpublic bool $readonly = falsepublic string $docComment = ''public CallableGraph|null $get = nullpublic CallableGraph|null $set = nullMethods§
public function __construct(
public string $name,
public string $className,
public string $type = 'mixed',
public Visibility $visibility = Visibility::Public,
public bool $static = false,
public CallableGraph|null $default = null,
public bool $readonly = false,
public string $docComment = '',
public CallableGraph|null $get = null,
public CallableGraph|null $set = null,
)Parameters
$name | string | name |
$className | string | className |
$type | string | type |
$visibility | Visibility | visibility |
$static | bool | static |
$default | CallableGraph|null | default |
$readonly | bool | Whether reassignment is forbidden |
$docComment | string | Raw declaration doc comment, or an empty string |
$get | CallableGraph|null | Getter body |
$set | CallableGraph|null | Setter body |
Calls 1
- class-const Visibility::Public() line 30
Test cases 67§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 1
PropertyDeclarationTestcalls
Other tests reaching this symbol 66
FrontierTestcallsAllocationTestcallsArgumentBindingTest::testActualsPreservesNamesValuesAndReferencePermissionscallsCallExecutorTestcallsBindingTestcallsCaptureTestcallsAccessTestcallsInvocationTestcallsMethodInvocationTestcallsInvocationTestcallsPropertiesTestcallsParameterBindingTestcallsArgumentsTestcallsCreationTestcallsEntryPropertiesTestcallsMethodsTestcallsUnpackTestcallsUnknownCallTestcallsAlternativeTestcallsExceptionalTestcallsCollectionCallsTestcallsExceptionChainTestcallsUnwindingTestcallsHavocTestcallsInstructionTransferTestcallsProtocolTestcallsTransferTestcallsConversionsTestcallsCountableCallsTestcallsStateTestcallsEvaluationTestcallsInvocationTestcallsCallableTransferTestcallsCompoundAssignmentTestcallsConstantTransferTestcallsMemoryStepTestcallsObjectAccessTest::testPrepareCapturesAnExternalReceiverFieldAndItsTypecallsObjectAccessTest::testPrepareSeedsOnlyUnreadFieldsOfOpenRecordscallsPropertyAccessCheckTestcallsPropertyLookupTestcallsPropertyMagicTestcallsPropertyReferenceTest::testBindCoercesTheSharedSourceOnlyWhenEveryDeclarationAcceptsItcallsPropertyReferenceTest::testBindRejectsReadonlyPropertiesBeforeReadingTheSourcecallsPropertyReferenceTest::testBindSeparatesSymbolicTypeFailuresBeforeMutatingEitherStoragecallsPropertyReferenceTest::testIncrementLeavesStorageAndResultUntouchedWhenRejectedcallsPropertyReferenceTest::testIncrementRejectsUninitializedTypedPropertiesBeforeAnyWritecallsPropertyTransferTest::testUncertainKeepsKnownPresenceWithoutForkingcallsPropertyTransferTest::testUncertainPreservesPresentAndAbsentPropertyStatescallsPropertyTransferTest::testWriteConsumesOnlyTheSuccessfulReadonlyCloneOpportunitycallsPropertyTransferTest::testWritePreservesBothTypeOutcomesAndTheirIndependentMemorycallsReferenceAssignmentTestcallsDerivationResultTestcallsQueryExecutionTestcallsResultAssessmentTestcallsAssignmentLoweringTestcallsCallLoweringTestcallsConditionalLoweringTestcallsDestructuringLoweringTestcallsIndexerTestcallsClassDeclarationTestcallsCompositionTestcallsPropertyScopeTestcallsCatchTargetTestcallsDispatchTestcallsLowererTestcallsStatementLoweringTestcalls
Relations§
Instantiated in 9
- new Deriver\Deriver\Evaluator\Execution\Call\Native\Properties::find() packages/deriver/src/Deriver/Evaluator/Execution/Call/Native/Properties.php:40
- new Deriver\Deriver\Evaluator\Execution\Call\Native\Properties::find() packages/deriver/src/Deriver/Evaluator/Execution/Call/Native/Properties.php:44
- new Deriver\Deriver\Evaluator\Execution\Call\Native\Properties::find() packages/deriver/src/Deriver/Evaluator/Execution/Call/Native/Properties.php:45
- new Deriver\Deriver\Evaluator\Execution\Call\Native\Properties::find() packages/deriver/src/Deriver/Evaluator/Execution/Call/Native/Properties.php:46
- new Deriver\Deriver\Evaluator\Execution\Call\Native\Properties::find() packages/deriver/src/Deriver/Evaluator/Execution/Call/Native/Properties.php:47
- new Deriver\Deriver\Evaluator\Execution\Call\Native\Properties::find() packages/deriver/src/Deriver/Evaluator/Execution/Call/Native/Properties.php:48
- new Deriver\Deriver\Lowerer\Declaration\Indexer::properties() packages/deriver/src/Deriver/Lowerer/Declaration/Indexer.php:184
- new Deriver\Deriver\Lowerer\Declaration\Indexer::promotions() packages/deriver/src/Deriver/Lowerer/Declaration/Indexer.php:231
- new Deriver\Deriver\Lowerer\Declaration\Traits\Composition::properties() packages/deriver/src/Deriver/Lowerer/Declaration/Traits/Composition.php:125
Type declarations 13
- type Deriver\Deriver\Evaluator\Execution\Call\Native\Properties packages/deriver/src/Deriver/Evaluator/Execution/Call/Native/Properties.php:33
- type Deriver\Deriver\Evaluator\Execution\Transfer\ObjectAccess packages/deriver/src/Deriver/Evaluator/Execution/Transfer/ObjectAccess.php:82
- type Deriver\Deriver\Evaluator\Execution\Transfer\PropertyLookup packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertyLookup.php:34
- type Deriver\Deriver\Evaluator\Execution\Transfer\PropertyLookup packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertyLookup.php:66
- type Deriver\Deriver\Evaluator\Execution\Transfer\PropertySlot packages/deriver/src/Deriver/Evaluator/Execution/Transfer/PropertySlot.php:24
- type Deriver\Deriver\Evaluator\Index\DefinitionIndex packages/deriver/src/Deriver/Evaluator/Index/DefinitionIndex.php:150
- type Deriver\Deriver\Evaluator\Index\DefinitionIndex packages/deriver/src/Deriver/Evaluator/Index/DefinitionIndex.php:204
- type Deriver\Deriver\Evaluator\Index\DefinitionIndex packages/deriver/src/Deriver/Evaluator/Index/DefinitionIndex.php:216
- type Deriver\Deriver\Evaluator\Memory\Properties packages/deriver/src/Deriver/Evaluator/Memory/Properties.php:23
- type Deriver\Deriver\Evaluator\Memory\PropertyOrigins packages/deriver/src/Deriver/Evaluator/Memory/PropertyOrigins.php:37
- type Deriver\Deriver\Evaluator\Memory\PropertyOrigins packages/deriver/src/Deriver/Evaluator/Memory/PropertyOrigins.php:49
- type Deriver\Deriver\Evaluator\Memory\PropertyOrigins packages/deriver/src/Deriver/Evaluator/Memory/PropertyOrigins.php:74
- type Deriver\Deriver\Evaluator\Memory\PropertyOrigins packages/deriver/src/Deriver/Evaluator/Memory/PropertyOrigins.php:94