mirror of
https://github.com/elyby/php-code-style.git
synced 2024-12-22 13:09:50 +05:30
Fix LineBreakAfterStatementsFixer. Resolves #5.
This commit is contained in:
parent
fa40a02dfd
commit
824cf6c1f1
@ -126,17 +126,23 @@ class Foo
|
|||||||
|
|
||||||
if ($nextToken->equals('(')) {
|
if ($nextToken->equals('(')) {
|
||||||
$parenthesisEndIndex = $tokens->findBlockEnd(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $nextIndex);
|
$parenthesisEndIndex = $tokens->findBlockEnd(Tokens::BLOCK_TYPE_PARENTHESIS_BRACE, $nextIndex);
|
||||||
$possibleStartBraceIndex = $tokens->getNextNonWhitespace($parenthesisEndIndex);
|
$possibleBeginBraceIndex = $tokens->getNextNonWhitespace($parenthesisEndIndex);
|
||||||
} else {
|
} else {
|
||||||
$possibleStartBraceIndex = $nextIndex;
|
$possibleBeginBraceIndex = $nextIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
// `do {} while ();`
|
// `do {} while ();`
|
||||||
if ($tokens[$index]->isGivenKind(T_WHILE) && $tokens[$possibleStartBraceIndex]->equals(';')) {
|
if ($tokens[$index]->isGivenKind(T_WHILE) && $tokens[$possibleBeginBraceIndex]->equals(';')) {
|
||||||
return $possibleStartBraceIndex;
|
return $possibleBeginBraceIndex;
|
||||||
|
}
|
||||||
|
|
||||||
|
$possibleBeginBrace = $tokens[$possibleBeginBraceIndex];
|
||||||
|
if ($possibleBeginBrace->equals('{')) {
|
||||||
|
$blockEnd = $tokens->findBlockEnd(Tokens::BLOCK_TYPE_CURLY_BRACE, $possibleBeginBraceIndex);
|
||||||
|
} else {
|
||||||
|
$blockEnd = $tokens->getNextTokenOfKind($possibleBeginBraceIndex, [';']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$blockEnd = $tokens->findBlockEnd(Tokens::BLOCK_TYPE_CURLY_BRACE, $possibleStartBraceIndex);
|
|
||||||
$nextStatementIndex = $tokens->getNextMeaningfulToken($blockEnd);
|
$nextStatementIndex = $tokens->getNextMeaningfulToken($blockEnd);
|
||||||
if ($nextStatementIndex === null) {
|
if ($nextStatementIndex === null) {
|
||||||
return $blockEnd;
|
return $blockEnd;
|
||||||
|
@ -359,6 +359,207 @@ foreach ($coordinates as $coordinate) {
|
|||||||
}
|
}
|
||||||
',
|
',
|
||||||
];
|
];
|
||||||
|
// Issue 5
|
||||||
|
$cases[] = [
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
if ("a" === "b")
|
||||||
|
$this->bar();
|
||||||
|
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
if ("a" === "b")
|
||||||
|
$this->bar();
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
];
|
||||||
|
$cases[] = [
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
if ("a" === "b")
|
||||||
|
$this->bar();
|
||||||
|
else
|
||||||
|
$this->baz();
|
||||||
|
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
if ("a" === "b")
|
||||||
|
$this->bar();
|
||||||
|
else
|
||||||
|
$this->baz();
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
];
|
||||||
|
$cases[] = [
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
for ($i = 0; $i < 3; $i++)
|
||||||
|
$this->bar();
|
||||||
|
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
for ($i = 0; $i < 3; $i++)
|
||||||
|
$this->bar();
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
];
|
||||||
|
$cases[] = [
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
foreach (["foo", "bar"] as $str)
|
||||||
|
$this->bar();
|
||||||
|
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
foreach (["foo", "bar"] as $str)
|
||||||
|
$this->bar();
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
];
|
||||||
|
$cases[] = [
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
while ($i < 10)
|
||||||
|
$this->bar();
|
||||||
|
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
while ($i < 10)
|
||||||
|
$this->bar();
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
];
|
||||||
|
$cases[] = [
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
do
|
||||||
|
$this->bar();
|
||||||
|
while ($i < 10);
|
||||||
|
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function foo()
|
||||||
|
{
|
||||||
|
do
|
||||||
|
$this->bar();
|
||||||
|
while ($i < 10);
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
];
|
||||||
|
$cases[] = [
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function bar()
|
||||||
|
{
|
||||||
|
if ("a" === "b")
|
||||||
|
$this->foo();
|
||||||
|
else if ("a" === "c")
|
||||||
|
$this->bar();
|
||||||
|
else if ("a" === "d")
|
||||||
|
$this->baz();
|
||||||
|
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function bar()
|
||||||
|
{
|
||||||
|
if ("a" === "b")
|
||||||
|
$this->foo();
|
||||||
|
else if ("a" === "c")
|
||||||
|
$this->bar();
|
||||||
|
else if ("a" === "d")
|
||||||
|
$this->baz();
|
||||||
|
$a = "next statement";
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
];
|
||||||
|
$cases[] = [
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function bar()
|
||||||
|
{
|
||||||
|
foreach (["foo", "bar"] as $str)
|
||||||
|
if ($str === "foo")
|
||||||
|
$this->bar();
|
||||||
|
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
'<?php
|
||||||
|
class Foo
|
||||||
|
{
|
||||||
|
public function bar()
|
||||||
|
{
|
||||||
|
foreach (["foo", "bar"] as $str)
|
||||||
|
if ($str === "foo")
|
||||||
|
$this->bar();
|
||||||
|
return 3;
|
||||||
|
}
|
||||||
|
}',
|
||||||
|
];
|
||||||
|
|
||||||
return $cases;
|
return $cases;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user