forked from aniani/vim
		
	Make a formal definition for normal and single-element kinds of annotations that otherwise require for their containment to repeat each time all syntax groups that describe element values. Reference: https://docs.oracle.com/javase/specs/jls/se21/html/jls-9.html#jls-9.7 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
		
			
				
	
	
		
			83 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| // VIM_TEST_SETUP let g:java_highlight_functions = 'style'
 | ||
| // VIM_TEST_SETUP set encoding=utf-8 termencoding=utf-8
 | ||
| 
 | ||
| import java.lang.annotation.ElementType;
 | ||
| import java.lang.annotation.Target;
 | ||
| 
 | ||
| abstract class StyleMethodsTests
 | ||
| {
 | ||
| 	// TYPES.
 | ||
| 	record Τʬ<α>(α a) { }
 | ||
| 
 | ||
| 	enum E
 | ||
| 	{
 | ||
| 		A("a"), B("b"), C("c"), D("d"),
 | ||
| 		E("e"), F("f"), G("g"), H("h");
 | ||
| 		final String s;
 | ||
| 		private E(String s) { this.s = s; }
 | ||
| 	}
 | ||
| 
 | ||
| 	@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
 | ||
| 	@java.lang.annotation.Repeatable(Tɐggablɘs.class)
 | ||
| 	@interface Tɐggablɘ
 | ||
| 	{
 | ||
| 		String[] value() default "";
 | ||
| 	}
 | ||
| 
 | ||
| 	@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
 | ||
| 	@interface Tɐggablɘs
 | ||
| 	{
 | ||
| 		Tɐggablɘ[] value();
 | ||
| 	}
 | ||
| 
 | ||
| 	interface Stylable<Α>
 | ||
| 	{
 | ||
| 		default void ascii$0_() { }
 | ||
| 		default Α μʭʭ$0_() { return null; }
 | ||
| 	}
 | ||
| 
 | ||
| 	// FIELDS.
 | ||
| 	private static final Class<?> CLASS_LOCK = classLock();
 | ||
| 
 | ||
| 	private final Object instanceLock = new Object();
 | ||
| 
 | ||
| 	// CONSTRUCTORS.
 | ||
| 	@Tɐggablɘ @Tɐggablɘ protected StyleMethodsTests() { }
 | ||
| 	<T extends Comparable<T>> StyleMethodsTests(T t, Void v) { }
 | ||
| 	private <T extends Comparable<T>> StyleMethodsTests(T t) { }
 | ||
| 
 | ||
| 	// METHODS.
 | ||
| 	@Tɐggablɘ @Tɐggablɘ abstract void ascii$0_(////////////////
 | ||
| 								);
 | ||
| 	@Tɐggablɘ @Tɐggablɘ abstract <α, β> Τʬ<α> μʭʭ$0_(
 | ||
| 				@SuppressWarnings("bespoke") β b);
 | ||
| 
 | ||
| 	@Tɐggablɘ private native void ascii$1_(/*////////////*/);
 | ||
| 	@Tɐggablɘ private native <α, β> Τʬ<α>[] μʭʭ$1_(
 | ||
| 			java.util.function.Function<β, Τʬ<α>[]> ƒ);
 | ||
| 
 | ||
| 	void Ascii$2_() { }
 | ||
| 	<T, U extends Stylable<T>> void Μʭʭ$2_(U u) { }
 | ||
| 
 | ||
| 	static final native synchronized void ascii$98_();
 | ||
| 	static final native synchronized <α, β> Τʬ<α>[][] μʭʭ$98_(
 | ||
| 			java.util.function.Function<β, Τʬ<α>[][]> ƒ);
 | ||
| 
 | ||
| 	@SuppressWarnings("strictfp")
 | ||
| 	protected static final synchronized strictfp void ascii$99_()
 | ||
| 	{ ascii$98_(); }
 | ||
| 
 | ||
| 	@SuppressWarnings("strictfp")
 | ||
| 	protected static final synchronized strictfp <α, β> Τʬ<α>[] μʭʭ$99_(
 | ||
| 			java.util.function.Function<β, Τʬ<α>[][]> ƒ)
 | ||
| 	{
 | ||
| 		return
 | ||
| 	StyleMethodsTests.<α, β>μʭʭ$98_(ƒ)[0];
 | ||
| 	}
 | ||
| 
 | ||
| 	public static Class<?> classLock() { return StyleMethodsTests.class; }
 | ||
| 
 | ||
| 	@Override @SuppressWarnings("cast")
 | ||
| 	public String toString() { return (String) "StyleMethodsTests"; }
 | ||
| }
 |