1*2167191dSAndroid Build Coastguard Worker /* 2*2167191dSAndroid Build Coastguard Worker * Copyright 2020 The JSpecify Authors. 3*2167191dSAndroid Build Coastguard Worker * 4*2167191dSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*2167191dSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*2167191dSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*2167191dSAndroid Build Coastguard Worker * 8*2167191dSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*2167191dSAndroid Build Coastguard Worker * 10*2167191dSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*2167191dSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*2167191dSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*2167191dSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*2167191dSAndroid Build Coastguard Worker * limitations under the License. 15*2167191dSAndroid Build Coastguard Worker */ 16*2167191dSAndroid Build Coastguard Worker import org.jspecify.annotations.NullMarked; 17*2167191dSAndroid Build Coastguard Worker import org.jspecify.annotations.Nullable; 18*2167191dSAndroid Build Coastguard Worker 19*2167191dSAndroid Build Coastguard Worker // Covered by 20*2167191dSAndroid Build Coastguard Worker // conformance-tests/src/assertions/java/org/jspecify/conformance/tests/irrelevantannotations/notnullmarked/Other.java 21*2167191dSAndroid Build Coastguard Worker @NullMarked 22*2167191dSAndroid Build Coastguard Worker abstract class UnrecognizedLocationsMisc { 23*2167191dSAndroid Build Coastguard Worker interface Super {} 24*2167191dSAndroid Build Coastguard Worker 25*2167191dSAndroid Build Coastguard Worker static class Sub 26*2167191dSAndroid Build Coastguard Worker // jspecify_nullness_intrinsically_not_nullable 27*2167191dSAndroid Build Coastguard Worker extends @Nullable Object 28*2167191dSAndroid Build Coastguard Worker // jspecify_nullness_intrinsically_not_nullable 29*2167191dSAndroid Build Coastguard Worker implements @Nullable Super { 30*2167191dSAndroid Build Coastguard Worker // jspecify_nullness_intrinsically_not_nullable Sub()31*2167191dSAndroid Build Coastguard Worker @Nullable Sub() {} 32*2167191dSAndroid Build Coastguard Worker } 33*2167191dSAndroid Build Coastguard Worker foo()34*2167191dSAndroid Build Coastguard Worker void foo() throws Exception { 35*2167191dSAndroid Build Coastguard Worker try { 36*2167191dSAndroid Build Coastguard Worker // jspecify_unrecognized_location 37*2167191dSAndroid Build Coastguard Worker @Nullable Object o; 38*2167191dSAndroid Build Coastguard Worker 39*2167191dSAndroid Build Coastguard Worker @Nullable Object[] a0; 40*2167191dSAndroid Build Coastguard Worker 41*2167191dSAndroid Build Coastguard Worker // jspecify_unrecognized_location 42*2167191dSAndroid Build Coastguard Worker Object @Nullable [] a1; 43*2167191dSAndroid Build Coastguard Worker 44*2167191dSAndroid Build Coastguard Worker // jspecify_unrecognized_location 45*2167191dSAndroid Build Coastguard Worker @Nullable Object @Nullable [] a2; 46*2167191dSAndroid Build Coastguard Worker 47*2167191dSAndroid Build Coastguard Worker // jspecify_unrecognized_location 48*2167191dSAndroid Build Coastguard Worker } catch (@Nullable Exception e) { 49*2167191dSAndroid Build Coastguard Worker } 50*2167191dSAndroid Build Coastguard Worker 51*2167191dSAndroid Build Coastguard Worker // jspecify_unrecognized_location 52*2167191dSAndroid Build Coastguard Worker try (@Nullable AutoCloseable a = get()) {} 53*2167191dSAndroid Build Coastguard Worker } 54*2167191dSAndroid Build Coastguard Worker get()55*2167191dSAndroid Build Coastguard Worker abstract AutoCloseable get(); 56*2167191dSAndroid Build Coastguard Worker } 57