Skip to content

Commit 0db5a0f

Browse files
Fix proxying an interface and using a dynamic property on the proxy
1 parent 28efb0d commit 0db5a0f

File tree

14 files changed

+86
-16
lines changed

14 files changed

+86
-16
lines changed

src/ProxyManager/ProxyGenerator/AccessInterceptorScopeLocalizer/MethodGenerator/MagicGet.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ public function __construct(
3838
'name',
3939
null,
4040
null,
41-
'returnValue'
41+
'returnValue',
42+
$originalClass->isInterface() ? $originalClass->getName() : null
4243
);
4344
}
4445

src/ProxyManager/ProxyGenerator/AccessInterceptorScopeLocalizer/MethodGenerator/MagicIsset.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ public function __construct(
3838
'name',
3939
null,
4040
null,
41-
'returnValue'
41+
'returnValue',
42+
$originalClass->isInterface() ? $originalClass->getName() : null
4243
);
4344
}
4445

src/ProxyManager/ProxyGenerator/AccessInterceptorScopeLocalizer/MethodGenerator/MagicSet.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ public function __construct(
4242
'name',
4343
'value',
4444
null,
45-
'returnValue'
45+
'returnValue',
46+
$originalClass->isInterface() ? $originalClass->getName() : null
4647
);
4748
}
4849

src/ProxyManager/ProxyGenerator/AccessInterceptorScopeLocalizer/MethodGenerator/MagicUnset.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ public function __construct(
3838
'name',
3939
null,
4040
null,
41-
'returnValue'
41+
'returnValue',
42+
$originalClass->isInterface() ? $originalClass->getName() : null
4243
);
4344
}
4445

src/ProxyManager/ProxyGenerator/AccessInterceptorValueHolder/MethodGenerator/MagicGet.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ public function __construct(
4141
'name',
4242
'value',
4343
$valueHolder,
44-
'returnValue'
44+
'returnValue',
45+
$originalClass->isInterface() ? $originalClass->getName() : null
4546
);
4647

4748
if (! $publicProperties->isEmpty()) {

src/ProxyManager/ProxyGenerator/AccessInterceptorValueHolder/MethodGenerator/MagicIsset.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ public function __construct(
4141
'name',
4242
'value',
4343
$valueHolder,
44-
'returnValue'
44+
'returnValue',
45+
$originalClass->isInterface() ? $originalClass->getName() : null
4546
);
4647

4748
if (! $publicProperties->isEmpty()) {

src/ProxyManager/ProxyGenerator/AccessInterceptorValueHolder/MethodGenerator/MagicSet.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ public function __construct(
4545
'name',
4646
'value',
4747
$valueHolder,
48-
'returnValue'
48+
'returnValue',
49+
$originalClass->isInterface() ? $originalClass->getName() : null
4950
);
5051

5152
if (! $publicProperties->isEmpty()) {

src/ProxyManager/ProxyGenerator/AccessInterceptorValueHolder/MethodGenerator/MagicUnset.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ public function __construct(
4141
'name',
4242
'value',
4343
$valueHolder,
44-
'returnValue'
44+
'returnValue',
45+
$originalClass->isInterface() ? $originalClass->getName() : null
4546
);
4647

4748
if (! $publicProperties->isEmpty()) {

src/ProxyManager/ProxyGenerator/LazyLoadingValueHolder/MethodGenerator/MagicGet.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ public function __construct(
5555
PublicScopeSimulator::OPERATION_GET,
5656
'name',
5757
null,
58-
$valueHolderProperty
58+
$valueHolderProperty,
59+
null,
60+
$originalClass->isInterface() ? $originalClass->getName() : null
5961
)
6062
);
6163
}

src/ProxyManager/ProxyGenerator/LazyLoadingValueHolder/MethodGenerator/MagicIsset.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ public function __construct(
4444
PublicScopeSimulator::OPERATION_ISSET,
4545
'name',
4646
null,
47-
$valueHolderProperty
47+
$valueHolderProperty,
48+
null,
49+
$originalClass->isInterface() ? $originalClass->getName() : null
4850
);
4951

5052
$this->setBody(

0 commit comments

Comments
 (0)