package reference.runtime.annotations; import runtime.annotations.RuntimeParameterAnnotation; import runtime.annotations.RuntimeRepeatedAnnotation; import runtime.annotations.RuntimeTypeAnnotation; @RuntimeRepeatedAnnotation @RuntimeRepeatedAnnotation public @RuntimeTypeAnnotation class ReferenceRuntime extends @RuntimeTypeAnnotation Bar implements @RuntimeTypeAnnotation Foo { public @RuntimeTypeAnnotation ReferenceRuntime() throws @RuntimeTypeAnnotation Exception { // TODO Auto-generated constructor stub } @RuntimeTypeAnnotation String q; @RuntimeTypeAnnotation public String foo(@RuntimeParameterAnnotation @RuntimeTypeAnnotation int p) throws @RuntimeTypeAnnotation Exception { new @RuntimeTypeAnnotation Object(); @RuntimeTypeAnnotation String s = "abc"; @RuntimeTypeAnnotation Foo foo = this::foo; if (foo instanceof @RuntimeTypeAnnotation Foo) return s; else return (@RuntimeTypeAnnotation String) null; } }