This repository was archived by the owner on Aug 1, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +15
-9
lines changed Expand file tree Collapse file tree 2 files changed +15
-9
lines changed Original file line number Diff line number Diff line change 9
9
10
10
namespace Facebook\HackRouter ;
11
11
12
+ use namespace HH\Lib\C ;
12
13
use type Facebook\HackCodegen\{
13
14
CodegenClass ,
14
15
CodegenShapeMember ,
@@ -43,21 +44,26 @@ final class RequestParametersCodegenBuilder<T as RequestParametersBase>
43
44
protected function getCodegenClass (self ::TSpec $spec ): CodegenClass {
44
45
$param_builder = $this -> parameterBuilder ;
45
46
$controller = $spec [' controller' ];
47
+ $getParameters = $this -> getParameters ;
48
+ $parameters = $getParameters ($controller );
49
+
50
+ $body = $this -> cg -> codegenHackBuilder();
46
51
47
- $body = $this -> cg
48
- -> codegenHackBuilder()
49
- -> addAssignment(
52
+ if ( ! C \ is_empty ( $parameters )) {
53
+ // avoid generating an assignment to an unused variable
54
+ $body -> addAssignment(
50
55
' $p' ,
51
56
' $this->getParameters()' ,
52
57
HackBuilderValues :: literal(),
53
- )
58
+ );
59
+ }
60
+
61
+ $body
54
62
-> addLine(' return shape(' )
55
63
-> indent();
56
64
57
- $getParameters = $this -> getParameters ;
58
65
$param_shape = vec [];
59
-
60
- foreach ($getParameters ($controller ) as $parameter ) {
66
+ foreach ($parameters as $parameter ) {
61
67
$param_spec = $parameter [' spec' ];
62
68
$request_spec = $param_builder :: getRequestSpec($param_spec );
63
69
$getter_spec = $request_spec :: getGetterSpec($param_spec );
Original file line number Diff line number Diff line change @@ -33,7 +33,7 @@ final class UriMapBuilderTest extends \Facebook\HackTest\HackTest {
33
33
$scanned = await FileParser :: fromFileAsync(
34
34
__DIR__ . ' /examples/GetRequestExampleController.hack' ,
35
35
);
36
- $class = $ scanned-> getClass(GetRequestExampleController :: class );
36
+ $scanned -> getClass(GetRequestExampleController :: class );
37
37
$builder = $this -> getBuilder($scanned );
38
38
39
39
expect ($builder -> getUriMap()[HttpMethod :: GET ]-> values())-> toBePHPEqual(
@@ -45,7 +45,7 @@ final class UriMapBuilderTest extends \Facebook\HackTest\HackTest {
45
45
$scanned = await FileParser :: fromFileAsync(
46
46
__DIR__ . ' /examples/GetRequestExampleController.hack' ,
47
47
);
48
- $class = $ scanned-> getClass(GetRequestExampleController :: class );
48
+ $scanned -> getClass(GetRequestExampleController :: class );
49
49
$builder = $this -> getBuilder($scanned );
50
50
$map = $builder -> getUriMap();
51
51
expect ($map -> containsKey(HttpMethod :: POST ))-> toBeFalse(
You can’t perform that action at this time.
0 commit comments