summaryrefslogtreecommitdiffstats
path: root/sampleUses/src/main/java/edu
diff options
context:
space:
mode:
Diffstat (limited to 'sampleUses/src/main/java/edu')
-rw-r--r--sampleUses/src/main/java/edu/umd/cs/findbugs/DottedClassName.java14
-rw-r--r--sampleUses/src/main/java/edu/umd/cs/findbugs/SlashedClassName.java15
-rw-r--r--sampleUses/src/main/java/edu/umd/cs/findbugs/examples/ParametersAreSlashedByDefault.java13
-rw-r--r--sampleUses/src/main/java/edu/umd/cs/findbugs/examples/Test.java31
-rw-r--r--sampleUses/src/main/java/edu/umd/cs/findbugs/examples/TestDefaults.java19
5 files changed, 92 insertions, 0 deletions
diff --git a/sampleUses/src/main/java/edu/umd/cs/findbugs/DottedClassName.java b/sampleUses/src/main/java/edu/umd/cs/findbugs/DottedClassName.java
new file mode 100644
index 0000000..f8779d0
--- /dev/null
+++ b/sampleUses/src/main/java/edu/umd/cs/findbugs/DottedClassName.java
@@ -0,0 +1,14 @@
+package edu.umd.cs.findbugs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.annotation.meta.TypeQualifierNickname;
+import javax.annotation.meta.When;
+
+@Documented
+@SlashedClassName(when=When.NEVER)
+@TypeQualifierNickname
+@Retention(RetentionPolicy.RUNTIME)
+public @interface DottedClassName { } \ No newline at end of file
diff --git a/sampleUses/src/main/java/edu/umd/cs/findbugs/SlashedClassName.java b/sampleUses/src/main/java/edu/umd/cs/findbugs/SlashedClassName.java
new file mode 100644
index 0000000..cc06384
--- /dev/null
+++ b/sampleUses/src/main/java/edu/umd/cs/findbugs/SlashedClassName.java
@@ -0,0 +1,15 @@
+package edu.umd.cs.findbugs;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.annotation.meta.TypeQualifier;
+import javax.annotation.meta.When;
+
+@Documented
+@TypeQualifier(applicableTo=CharSequence.class)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface SlashedClassName {
+ When when() default When.ALWAYS;
+}
diff --git a/sampleUses/src/main/java/edu/umd/cs/findbugs/examples/ParametersAreSlashedByDefault.java b/sampleUses/src/main/java/edu/umd/cs/findbugs/examples/ParametersAreSlashedByDefault.java
new file mode 100644
index 0000000..28e30e8
--- /dev/null
+++ b/sampleUses/src/main/java/edu/umd/cs/findbugs/examples/ParametersAreSlashedByDefault.java
@@ -0,0 +1,13 @@
+package edu.umd.cs.findbugs.examples;
+
+import java.lang.annotation.ElementType;
+
+import javax.annotation.meta.TypeQualifierDefault;
+
+import edu.umd.cs.findbugs.SlashedClassName;
+
+@SlashedClassName
+@TypeQualifierDefault(ElementType.PARAMETER)
+public @interface ParametersAreSlashedByDefault {
+
+}
diff --git a/sampleUses/src/main/java/edu/umd/cs/findbugs/examples/Test.java b/sampleUses/src/main/java/edu/umd/cs/findbugs/examples/Test.java
new file mode 100644
index 0000000..1246131
--- /dev/null
+++ b/sampleUses/src/main/java/edu/umd/cs/findbugs/examples/Test.java
@@ -0,0 +1,31 @@
+package edu.umd.cs.findbugs.examples;
+
+import javax.annotation.meta.When;
+
+import edu.umd.cs.findbugs.DottedClassName;
+import edu.umd.cs.findbugs.SlashedClassName;
+
+public class Test {
+
+
+ public void foo(@SlashedClassName String foo) {}
+
+ public void foo2(@DottedClassName String foo) {
+ foo(foo); // should get warning here
+ }
+
+ public void foo3(String foo) {
+ foo(foo);
+ }
+ public void foo4(@DottedClassName String foo) {
+ foo3(foo);
+ }
+
+ public void foo5(@SlashedClassName(when=When.MAYBE) String foo) {
+ foo(foo);
+ }
+ public void foo6(@SlashedClassName(when=When.UNKNOWN) String foo) {
+ foo(foo);
+ }
+}
+
diff --git a/sampleUses/src/main/java/edu/umd/cs/findbugs/examples/TestDefaults.java b/sampleUses/src/main/java/edu/umd/cs/findbugs/examples/TestDefaults.java
new file mode 100644
index 0000000..c6e8013
--- /dev/null
+++ b/sampleUses/src/main/java/edu/umd/cs/findbugs/examples/TestDefaults.java
@@ -0,0 +1,19 @@
+package edu.umd.cs.findbugs.examples;
+
+import javax.annotation.meta.When;
+
+import edu.umd.cs.findbugs.DottedClassName;
+import edu.umd.cs.findbugs.SlashedClassName;
+
+@ParametersAreSlashedByDefault
+public class TestDefaults {
+ public void foo(String c) {}
+
+ public void foo2(@DottedClassName String c) {
+ foo(c);
+ }
+
+ public void foo3(@SlashedClassName(when=When.UNKNOWN) String c) {
+ foo(c);
+ }
+}