Skip to content

Commit 7b6ae68

Browse files
klueverError Prone Team
authored and
Error Prone Team
committed
PUBLIC: Add an example test for AutoBuilder build() methods.
RELNOTES=n/a PiperOrigin-RevId: 441525562
1 parent bb5862c commit 7b6ae68

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

core/src/test/java/com/google/errorprone/bugpatterns/IgnoredPureGetterTest.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,50 @@ public void autoBuilder_getters() {
186186
.doTest();
187187
}
188188

189+
@Test
190+
public void autoBuilder_buildIsntCrv() {
191+
helper
192+
.addSourceLines(
193+
"Named.java",
194+
"import com.google.auto.value.AutoBuilder;",
195+
"import java.time.LocalTime;",
196+
"@AutoBuilder(callMethod = \"of\", ofClass = LocalTime.class)",
197+
"interface LocalTimeBuilder {",
198+
" LocalTimeBuilder setHour(int hour);",
199+
" LocalTimeBuilder setMinute(int minute);",
200+
" LocalTimeBuilder setSecond(int second);",
201+
" LocalTimeBuilder setNanoOfSecond(int nanoOfSecond);",
202+
" int getHour();",
203+
" int getMinute();",
204+
" int getSecond();",
205+
" int getNanoOfSecond();",
206+
" LocalTime build();", // calls: LocalTime.of(...)
207+
"}")
208+
.addSourceLines(
209+
"B.java",
210+
"class B {",
211+
" void test(LocalTimeBuilder builder) {",
212+
// the setters are treated as CIRV:
213+
" builder.setHour(12);",
214+
" builder.setMinute(12);",
215+
" builder.setSecond(12);",
216+
// the getters are treated as CRV:
217+
" // BUG: Diagnostic contains: IgnoredPureGetter",
218+
" builder.getHour();",
219+
" // BUG: Diagnostic contains: IgnoredPureGetter",
220+
" builder.getMinute();",
221+
" // BUG: Diagnostic contains: IgnoredPureGetter",
222+
" builder.getSecond();",
223+
" // BUG: Diagnostic contains: IgnoredPureGetter",
224+
" builder.getNanoOfSecond();",
225+
// TODO(b/229107551): this shouldn't be treated as CRV
226+
" // BUG: Diagnostic contains: IgnoredPureGetter",
227+
" builder.build();",
228+
" }",
229+
"}")
230+
.doTest();
231+
}
232+
189233
@Test
190234
public void refactoringHelper() {
191235
refactoringHelper

0 commit comments

Comments
 (0)