Issue #2818: Add support for lambda expression in LeftCurlyCheck
This commit is contained in:
parent
420a4908da
commit
ec20c822a1
|
|
@ -40,7 +40,8 @@ import com.puppycrawl.tools.checkstyle.utils.CommonUtils;
|
|||
* LITERAL_IF}, {@link TokenTypes#LITERAL_SWITCH LITERAL_SWITCH}, {@link
|
||||
* TokenTypes#LITERAL_SYNCHRONIZED LITERAL_SYNCHRONIZED}, {@link
|
||||
* TokenTypes#LITERAL_TRY LITERAL_TRY}, {@link TokenTypes#LITERAL_WHILE
|
||||
* LITERAL_WHILE}, {@link TokenTypes#STATIC_INIT STATIC_INIT}.
|
||||
* LITERAL_WHILE}, {@link TokenTypes#STATIC_INIT STATIC_INIT},
|
||||
* {@link TokenTypes#LAMBDA LAMBDA}.
|
||||
* </p>
|
||||
*
|
||||
* <p>
|
||||
|
|
@ -167,6 +168,7 @@ public class LeftCurlyCheck
|
|||
TokenTypes.LITERAL_FOR,
|
||||
TokenTypes.STATIC_INIT,
|
||||
TokenTypes.OBJBLOCK,
|
||||
TokenTypes.LAMBDA,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -208,6 +210,7 @@ public class LeftCurlyCheck
|
|||
case TokenTypes.LITERAL_DO:
|
||||
case TokenTypes.LITERAL_IF:
|
||||
case TokenTypes.STATIC_INIT:
|
||||
case TokenTypes.LAMBDA:
|
||||
startToken = ast;
|
||||
brace = ast.findFirstToken(TokenTypes.SLIST);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -51,6 +51,12 @@ public class LeftCurlyCheckTest extends BaseCheckTestSupport {
|
|||
+ "blocks" + File.separator + filename);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getNonCompilablePath(String filename) throws IOException {
|
||||
return super.getNonCompilablePath("checks" + File.separator
|
||||
+ "blocks" + File.separator + filename);
|
||||
}
|
||||
|
||||
/* Additional test for jacoco, since valueOf()
|
||||
* is generated by javac and jacoco reports that
|
||||
* valueOf() is uncovered.
|
||||
|
|
@ -280,6 +286,28 @@ public class LeftCurlyCheckTest extends BaseCheckTestSupport {
|
|||
verify(checkConfig, getPath("InputLeftCurlyEnums.java"), expectedWhileFalse);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDefaultLambda() throws Exception {
|
||||
final String[] expected = {
|
||||
"5:1: " + getCheckMessage(MSG_KEY_LINE_PREVIOUS, "{", 1),
|
||||
"12:32: " + getCheckMessage(MSG_KEY_LINE_BREAK_AFTER, "{", 32),
|
||||
"15:5: " + getCheckMessage(MSG_KEY_LINE_PREVIOUS, "{", 5),
|
||||
};
|
||||
verify(checkConfig, getNonCompilablePath("InputLeftCurlyNewLineOptionWithLambda.java"),
|
||||
expected);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testNewLineOptionWithLambda() throws Exception {
|
||||
checkConfig.addAttribute("option", LeftCurlyOption.NL.toString());
|
||||
final String[] expected = {
|
||||
"6:32: " + getCheckMessage(MSG_KEY_LINE_NEW, "{", 32),
|
||||
"12:32: " + getCheckMessage(MSG_KEY_LINE_NEW, "{", 32),
|
||||
};
|
||||
verify(checkConfig, getNonCompilablePath("InputLeftCurlyNewLineOptionWithLambda.java"),
|
||||
expected);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAcceptableTokens() {
|
||||
final LeftCurlyCheck check = new LeftCurlyCheck();
|
||||
|
|
@ -303,7 +331,8 @@ public class LeftCurlyCheckTest extends BaseCheckTestSupport {
|
|||
TokenTypes.LITERAL_ELSE,
|
||||
TokenTypes.LITERAL_FOR,
|
||||
TokenTypes.STATIC_INIT,
|
||||
TokenTypes.OBJBLOCK, };
|
||||
TokenTypes.OBJBLOCK,
|
||||
TokenTypes.LAMBDA, };
|
||||
assertArrayEquals(expected, actual);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
//Compilable with Java8
|
||||
package com.puppycrawl.tools.checkstyle.checks.blocks;
|
||||
|
||||
public class InputLeftCurlyNewLineOptionWithLambda
|
||||
{
|
||||
static Runnable r1 = () -> {
|
||||
System.out.println("Hello world one!");
|
||||
};
|
||||
|
||||
static Runnable r2 = () -> System.out.println("Hello world two!");
|
||||
|
||||
static Runnable r3 = () -> {System.out.println("Hello world two!");};
|
||||
|
||||
static Runnable r4 = () ->
|
||||
{
|
||||
System.out.println("Hello world one!");
|
||||
};
|
||||
}
|
||||
|
|
@ -471,7 +471,8 @@ try {
|
|||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_ELSE">LITERAL_ELSE</a>,
|
||||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FOR">LITERAL_FOR</a>,
|
||||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STATIC_INIT">STATIC_INIT</a>,
|
||||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#OBJBLOCK">OBJBLOCK</a>.
|
||||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#OBJBLOCK">OBJBLOCK</a>,
|
||||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LAMBDA">LAMBDA</a>.
|
||||
</td>
|
||||
|
||||
<td>
|
||||
|
|
@ -493,7 +494,8 @@ try {
|
|||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_ELSE">LITERAL_ELSE</a>,
|
||||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LITERAL_FOR">LITERAL_FOR</a>,
|
||||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#STATIC_INIT">STATIC_INIT</a>,
|
||||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#OBJBLOCK">OBJBLOCK</a>.
|
||||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#OBJBLOCK">OBJBLOCK</a>,
|
||||
<a href="apidocs/com/puppycrawl/tools/checkstyle/api/TokenTypes.html#LAMBDA">LAMBDA</a>.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
|||
Loading…
Reference in New Issue