| @@ 65-79 (lines=15) @@ | ||
| 62 | /** |
|
| 63 | * @return Node\Stmt\If_ |
|
| 64 | */ |
|
| 65 | private function buildGetExpression(): Node\Stmt\If_ |
|
| 66 | { |
|
| 67 | $resolved = resolveMethodCall('this', $this->resolverProperty, $this->resolveMethod); |
|
| 68 | $stmt = new Node\Stmt\Return_(new Node\Expr\PropertyFetch($resolved, '{$name}')); |
|
| 69 | ||
| 70 | return throwExceptionOnNull( |
|
| 71 | $resolved, |
|
| 72 | $stmt, |
|
| 73 | 'Property `%s` not loaded in `__get()` method for `%s`', |
|
| 74 | [ |
|
| 75 | new Node\Arg(new Node\Expr\Variable('name')), |
|
| 76 | $this->class |
|
| 77 | ] |
|
| 78 | ); |
|
| 79 | } |
|
| 80 | } |
|
| 81 | ||
| @@ 65-84 (lines=20) @@ | ||
| 62 | /** |
|
| 63 | * @return Node\Stmt\If_ |
|
| 64 | */ |
|
| 65 | private function buildSetExpression(): Node\Stmt\If_ |
|
| 66 | { |
|
| 67 | $resolved = resolveMethodCall('this', $this->resolverProperty, $this->resolveMethod); |
|
| 68 | $stmt = new Node\Stmt\Expression( |
|
| 69 | new Node\Expr\Assign( |
|
| 70 | new Node\Expr\PropertyFetch($resolved, '{$name}'), |
|
| 71 | new Node\Expr\Variable('value') |
|
| 72 | ) |
|
| 73 | ); |
|
| 74 | ||
| 75 | return throwExceptionOnNull( |
|
| 76 | $resolved, |
|
| 77 | $stmt, |
|
| 78 | 'Property `%s` not loaded in `__set()` method for `%s`', |
|
| 79 | [ |
|
| 80 | new Node\Arg(new Node\Expr\Variable('name')), |
|
| 81 | $this->class |
|
| 82 | ] |
|
| 83 | ); |
|
| 84 | } |
|
| 85 | } |
|
| 86 | ||