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 @@ -67,11 +67,14 @@ public function __toString(): string
6767 . 'function '
6868 . ($ this ->returnReference ? '& ' : '' )
6969 . $ this ->name
70- . $ this ->parametersToString ()
70+ . ( $ params = $ this ->parametersToString () )
7171 . $ this ->returnTypeToString ()
7272 . ($ this ->abstract || $ this ->body === null
7373 ? '; '
74- : "\n{ \n" . Nette \Utils \Strings::indent (ltrim (rtrim ($ this ->body ) . "\n" ), 1 ) . '} ' );
74+ : (strpos ($ params , "\n" ) === false ? "\n" : ' ' )
75+ . "{ \n"
76+ . Nette \Utils \Strings::indent (ltrim (rtrim ($ this ->body ) . "\n" ), 1 )
77+ . '} ' );
7578 }
7679
7780
Original file line number Diff line number Diff line change @@ -193,7 +193,10 @@ protected function parametersToString(): string
193193 . '$ ' . $ param ->getName ()
194194 . ($ param ->hasDefaultValue () && !$ variadic ? ' = ' . Helpers::dump ($ param ->getDefaultValue ()) : '' );
195195 }
196- return '( ' . implode (', ' , $ params ) . ') ' ;
196+
197+ return strlen ($ tmp = implode (', ' , $ params )) > Helpers::WRAP_LENGTH && count ($ params ) > 1
198+ ? "( \n\t" . implode (", \n\t" , $ params ) . "\n) "
199+ : "( $ tmp) " ;
197200 }
198201
199202
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