Skip to content

Commit 8d0c120

Browse files
committed
honor both /* param */ and // param
1 parent 6b874b3 commit 8d0c120

File tree

2 files changed

+35
-4
lines changed

2 files changed

+35
-4
lines changed

mug-errorprone/src/main/java/com/google/mu/errorprone/ParametersMustMatchByNameCheck.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ public final class ParametersMustMatchByNameCheck extends AbstractBugChecker
4848
implements AbstractBugChecker.MethodInvocationCheck, AbstractBugChecker.ConstructorCallCheck {
4949
private static final String ANNOTATION_NAME =
5050
"com.google.mu.annotations.ParametersMustMatchByName";
51-
private static final Substring.Pattern ARG_COMMENT = Substring.spanningInOrder("/*", "*/");
51+
private static final Substring.Pattern ARG_COMMENT =
52+
Substring.spanningInOrder("/*", "*/").or(Substring.spanningInOrder("//", "\n"));
5253

5354
@Override public void checkConstructorCall(NewClassTree tree, VisitorState state)
5455
throws ErrorReport {
@@ -74,9 +75,6 @@ private void checkParameters(
7475
List<String> argSources,
7576
VisitorState state)
7677
throws ErrorReport {
77-
if (method == null) {
78-
return;
79-
}
8078
if (!isEffectivelyAnnotated(method, state)) {
8179
return;
8280
}

mug-errorprone/src/test/java/com/google/mu/errorprone/ParametersMustMatchByNameCheckTest.java

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,24 @@ public void onMethod_literalOnOneArg_incorrectComment_fails() {
228228
.doTest();
229229
}
230230

231+
@Test
232+
public void onMethod_literalOnOneArg_incorrectTrailingComment_fails() {
233+
helper
234+
.addSourceLines(
235+
"Test.java",
236+
"import com.google.mu.annotations.ParametersMustMatchByName;",
237+
"class Test {",
238+
" @ParametersMustMatchByName",
239+
" void test(int width) {}",
240+
" void callSite() {",
241+
" test(",
242+
" // BUG: Diagnostic contains: must match",
243+
" 100); // height",
244+
" }",
245+
"}")
246+
.doTest();
247+
}
248+
231249
@Test
232250
public void onMethod_literalOnTwoArgsOfSameType_fails() {
233251
helper
@@ -1043,4 +1061,19 @@ public void onPackage_argsInCorrectOrder_succeeds() {
10431061
"}")
10441062
.doTest();
10451063
}
1064+
1065+
@Test
1066+
public void onUnannotatedMethod_argsInWrongOrder_succeeds() {
1067+
helper
1068+
.addSourceLines(
1069+
"Test.java",
1070+
"import com.google.mu.annotations.ParametersMustMatchByName;",
1071+
"class Test {",
1072+
" void test(int width, int height) {}",
1073+
" void callSite(int height, int width) {",
1074+
" test(height, width);",
1075+
" }",
1076+
"}")
1077+
.doTest();
1078+
}
10461079
}

0 commit comments

Comments
 (0)