aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/ijar/test/typeannotations2
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2015-03-10 12:32:21 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-03-10 16:13:29 +0100
commitc513e114a0a5f97891433b80bf442c5e9acaf22b (patch)
treed3c1bb107bd3e7900f328235d0451bf87af990a7 /third_party/ijar/test/typeannotations2
parenta5a11203aa75729bd0b3a29a22a63977ee2267a0 (diff)
Open-source ijar's tests
-- MOS_MIGRATED_REVID=88210083
Diffstat (limited to 'third_party/ijar/test/typeannotations2')
-rw-r--r--third_party/ijar/test/typeannotations2/NonNull.java23
-rw-r--r--third_party/ijar/test/typeannotations2/Nullable.java23
-rw-r--r--third_party/ijar/test/typeannotations2/Util.java19
-rw-r--r--third_party/ijar/test/typeannotations2/java/lang/annotation/ElementType.java21
4 files changed, 86 insertions, 0 deletions
diff --git a/third_party/ijar/test/typeannotations2/NonNull.java b/third_party/ijar/test/typeannotations2/NonNull.java
new file mode 100644
index 0000000000..089e70c5e7
--- /dev/null
+++ b/third_party/ijar/test/typeannotations2/NonNull.java
@@ -0,0 +1,23 @@
+// Copyright 2015 Google Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.TYPE_USE, ElementType.TYPE_PARAMETER })
+public @interface NonNull {
+}
diff --git a/third_party/ijar/test/typeannotations2/Nullable.java b/third_party/ijar/test/typeannotations2/Nullable.java
new file mode 100644
index 0000000000..2f341c00ad
--- /dev/null
+++ b/third_party/ijar/test/typeannotations2/Nullable.java
@@ -0,0 +1,23 @@
+// Copyright 2015 Google Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ ElementType.TYPE_USE, ElementType.TYPE_PARAMETER })
+public @interface Nullable {
+}
diff --git a/third_party/ijar/test/typeannotations2/Util.java b/third_party/ijar/test/typeannotations2/Util.java
new file mode 100644
index 0000000000..baaff4d96a
--- /dev/null
+++ b/third_party/ijar/test/typeannotations2/Util.java
@@ -0,0 +1,19 @@
+// Copyright 2015 Google Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+public class Util {
+ public static <T extends @Nullable Object> @NonNull T castNullable(T value) {
+ return (@NonNull T) value;
+ }
+}
diff --git a/third_party/ijar/test/typeannotations2/java/lang/annotation/ElementType.java b/third_party/ijar/test/typeannotations2/java/lang/annotation/ElementType.java
new file mode 100644
index 0000000000..001b8c707a
--- /dev/null
+++ b/third_party/ijar/test/typeannotations2/java/lang/annotation/ElementType.java
@@ -0,0 +1,21 @@
+// Copyright 2015 Google Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package java.lang.annotation;
+
+/**
+ * This is stub for the jdk8 ElementType. It allows the test to compile with a
+ * jdk7 javabase.
+ */
+public enum ElementType { TYPE_USE, TYPE_PARAMETER; }