support for attribute propagation
[hiphop-php.git] / hphp / test / taint / members / members.php
blob0ca4d9db77cd86219c367c42f5207904bbdaa9cc
1 <?hh
3 function __source(): int { return 1; }
4 function __sink(int $input): void {}
6 class MyClass {
7 public int $attribute;
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();
24 into_sink($object);
27 <<__EntryPoint>> function main(): void {
28 source_through_attribute_into_sink();
29 source_through_attribute_dereferenced_in_callee();