summaryrefslogtreecommitdiff
path: root/java/java-tests/testData/inspection/dataFlow/fixture/ContractVarargs.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/java-tests/testData/inspection/dataFlow/fixture/ContractVarargs.java')
-rw-r--r--java/java-tests/testData/inspection/dataFlow/fixture/ContractVarargs.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/java/java-tests/testData/inspection/dataFlow/fixture/ContractVarargs.java b/java/java-tests/testData/inspection/dataFlow/fixture/ContractVarargs.java
new file mode 100644
index 000000000000..e65bc8740e83
--- /dev/null
+++ b/java/java-tests/testData/inspection/dataFlow/fixture/ContractVarargs.java
@@ -0,0 +1,39 @@
+import org.jetbrains.annotations.Contract;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+class Contracts {
+
+ public void simpleFail(@Nullable String message) {
+ notBlank(message);
+ log(message);
+ }
+
+ @Contract("_->fail")
+ private void notBlank(@Nullable Object message) {
+
+ }
+
+ @Contract("_,_,_->fail")
+ private void notBlank(@Nullable Object o, String message, Object... args) {
+
+ }
+
+ public void varargFail(@Nullable String message) {
+ notBlank(message, "Message should not be blank");
+ log(message);
+ }
+
+ public void vararg1(@Nullable String message) {
+ notBlank(message, "Message should not be blank", new Object());
+ log(message);
+ }
+ public void vararg2(@Nullable String message) {
+ notBlank(message, "Message should not be blank", new Object(), new Object());
+ log(message);
+ }
+
+ public void log(@NotNull String message) {
+ System.out.println(message);
+ }
+} \ No newline at end of file