File tree Expand file tree Collapse file tree 3 files changed +44
-3
lines changed Expand file tree Collapse file tree 3 files changed +44
-3
lines changed Original file line number Diff line number Diff line change @@ -72,11 +72,14 @@ public function __toString(): string
72
72
. 'function '
73
73
. ($ this ->returnReference ? '& ' : '' )
74
74
. $ this ->name
75
- . $ this ->parametersToString ()
75
+ . ( $ params = $ this ->parametersToString () )
76
76
. $ this ->returnTypeToString ()
77
77
. ($ this ->abstract || $ this ->body === null
78
78
? '; '
79
- : "\n{ \n" . Nette \Utils \Strings::indent (ltrim (rtrim ($ this ->body ) . "\n" ), 1 ) . '} ' );
79
+ : (strpos ($ params , "\n" ) === false ? "\n" : ' ' )
80
+ . "{ \n"
81
+ . Nette \Utils \Strings::indent (ltrim (rtrim ($ this ->body ) . "\n" ), 1 )
82
+ . '} ' );
80
83
}
81
84
82
85
Original file line number Diff line number Diff line change @@ -197,7 +197,10 @@ protected function parametersToString(): string
197
197
. '$ ' . $ param ->getName ()
198
198
. ($ param ->hasDefaultValue () && !$ variadic ? ' = ' . Helpers::dump ($ param ->getDefaultValue ()) : '' );
199
199
}
200
- return '( ' . implode (', ' , $ params ) . ') ' ;
200
+
201
+ return strlen ($ tmp = implode (', ' , $ params )) > Helpers::WRAP_LENGTH && count ($ params ) > 1
202
+ ? "( \n\t" . implode (", \n\t" , $ params ) . "\n) "
203
+ : "( $ tmp) " ;
201
204
}
202
205
203
206
Original file line number Diff line number Diff line change
1
+ <?php
2
+
3
+ declare (strict_types=1 );
4
+
5
+ use Nette \PhpGenerator \Method ;
6
+ use Tester \Assert ;
7
+
8
+ require __DIR__ . '/../bootstrap.php ' ;
9
+
10
+
11
+ $ method = (new Method ('create ' ))
12
+ ->setBody ('return null; ' );
13
+
14
+ for ($ name = 'a ' ; $ name < 'm ' ; $ name ++) {
15
+ $ method ->addParameter ($ name )->setTypeHint ('string ' );
16
+ }
17
+
18
+ Assert::match (
19
+ 'function create(
20
+ string $a,
21
+ string $b,
22
+ string $c,
23
+ string $d,
24
+ string $e,
25
+ string $f,
26
+ string $g,
27
+ string $h,
28
+ string $i,
29
+ string $j,
30
+ string $k,
31
+ string $l
32
+ ) {
33
+ return null;
34
+ }
35
+ ' , (string ) $ method );
You can’t perform that action at this time.
0 commit comments