3 function __source(): int { return 1; }
4 function __sink(int $input): void
{}
10 function source_through_attribute_into_sink(): void
{
11 $object = new MyClass();
12 $object->attribute
= __source();
13 __sink($object->attribute
);
16 function into_sink(MyClass
$object): void
{
17 // TODO(T93549800): indirect flow is not yet captured
18 __sink($object->attribute
);
21 function source_through_attribute_dereferenced_in_callee(): void
{
22 $object = new MyClass();
23 $object->attribute
= __source();
27 <<__EntryPoint
>> function main(): void
{
28 source_through_attribute_into_sink();
29 source_through_attribute_dereferenced_in_callee();