| @@ 564-578 (lines=15) @@ | ||
| 561 | ) { |
|
| 562 | $has_magic_getter = true; |
|
| 563 | ||
| 564 | if (isset($class_storage->pseudo_property_get_types['$' . $prop_name])) { |
|
| 565 | $stmt_type = clone $class_storage->pseudo_property_get_types['$' . $prop_name]; |
|
| 566 | ||
| 567 | $statements_analyzer->node_data->setType($stmt, $stmt_type); |
|
| 568 | ||
| 569 | self::processTaints( |
|
| 570 | $statements_analyzer, |
|
| 571 | $stmt, |
|
| 572 | $stmt_type, |
|
| 573 | $property_id, |
|
| 574 | $class_storage, |
|
| 575 | $in_assignment |
|
| 576 | ); |
|
| 577 | continue; |
|
| 578 | } |
|
| 579 | ||
| 580 | $old_data_provider = $statements_analyzer->node_data; |
|
| 581 | ||
| @@ 674-690 (lines=17) @@ | ||
| 671 | $config = $statements_analyzer->getProjectAnalyzer()->getConfig(); |
|
| 672 | ||
| 673 | if (!$naive_property_exists) { |
|
| 674 | if ($config->use_phpdoc_property_without_magic_or_parent |
|
| 675 | && isset($class_storage->pseudo_property_get_types['$' . $prop_name]) |
|
| 676 | ) { |
|
| 677 | $stmt_type = clone $class_storage->pseudo_property_get_types['$' . $prop_name]; |
|
| 678 | ||
| 679 | $statements_analyzer->node_data->setType($stmt, $stmt_type); |
|
| 680 | ||
| 681 | self::processTaints( |
|
| 682 | $statements_analyzer, |
|
| 683 | $stmt, |
|
| 684 | $stmt_type, |
|
| 685 | $property_id, |
|
| 686 | $class_storage, |
|
| 687 | $in_assignment |
|
| 688 | ); |
|
| 689 | continue; |
|
| 690 | } |
|
| 691 | ||
| 692 | if ($fq_class_name !== $context->self |
|
| 693 | && $context->self |
|