package com.puppycrawl.tools.checkstyle.checks.javadoc.abstractjavadoc;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/////////////
// CLASSES //
/////////////

/**Javadoc*/ /*noise*/ //noise
class/**nope*/ InputAbstractJavadocPositionWithSinglelineComments/**nope*/{
	/**Javadoc*/ //noise
	protected/**nope*/ class/**nope*/ N/**nope*/{/**nope*/}

	/**Javadoc*/ //noise
	private/**nope*/ static/**nope*/ class/**nope*/ X/**nope*/{/**nope*/}

	/**Javadoc*/ //noise
	@Component2/**nope*/ class/**nope*/ Z/**nope*/{/**nope*/}

	/**Javadoc*/ //noise
	@Component2/**nope*/ private/**nope*/ class/**nope*/ Y/**nope*/{/**nope*/}

	/**Javadoc*/ //noise
	private/**nope*/ @Component2/**nope*/ class/**nope*/ M/**nope*/{/**nope*/}
}

//////////////////
// CONSTRUCTORS //
//////////////////

/**Javadoc*/ //noise
class/**nope*/ VV/**nope*/{
	/**Javadoc*/ //noise
	VV/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

/**Javadoc*/ //noise
class/**nope*/ NN/**nope*/{
	/**Javadoc*/ //noise
	private/**nope1*/ NN/**nope2*/(/**nope3*/)/**nope4*/{/**nope5*/}/**nope6*/
}

class/**nope*/ ZZ/**nope*/{
	/**Javadoc*/ //noise
	@Component2/**nope*/ ZZ/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

class/**nope*/ YY/**nope*/{
	/**Javadoc*/ //noise
	@Component2/**nope*/ private/**nope*/ YY/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

class/**nope*/ MM/**nope*/{
	/**Javadoc*/ //noise
	private/**nope*/ @Component2/**nope*/ MM/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

/////////////
// METHODS //
/////////////

class VVV {
	/**Javadoc*/ //noise
	void/**nope*/ a/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

class NNN {
	/**Javadoc*/ //noise
	private/**nope*/ void/**nope*/ a/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

class XXX {
	/**Javadoc*/ //noise
	static/**nope*/ private/**nope*/ void/**nope*/ a/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

class ZZZ {
	/**Javadoc*/ //noise
	@Component2/**nope*/ void/**nope*/ a/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

class YYY {
	/**Javadoc*/ //noise
	@Component2/**nope*/ private/**nope*/ void/**nope*/ a/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

class MMM {
	/**Javadoc*/ //noise
	static/**nope*/ @Component2/**nope*/ private/**nope*/ void/**nope*/ a/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

class LKJ {
	/**Javadoc*/ //noise
	void/**nope*/ a/**nope*/(@Component2/**nope*/int/**nope*/ a/**nope*/)/**nope*/{/**nope*/}/**nope*/
}

class LKM {
	/**Javadoc*/ //noise
	java.lang.String/**nope*/ a/**nope*/(/**nope*/)/**nope*/{/**nope*/return null;/**nope*/}/**nope*/
}

////////////////
// INTERFACES //
////////////////

/**Javadoc*/ //noise
interface/**nope*/ VVVV/**nope*/ {}

/**Javadoc*/ //noise
abstract/**nope*/ interface/**nope*/ NNNN/**nope*/ {/**nope*/}

/**Javadoc*/ //noise
@Component2/**nope*/ interface/**nope*/ XXXX/**nope*/ {/**nope*/}

/**Javadoc*/ //noise
@Component2/**nope*/ abstract/**nope*/ interface/**nope*/ ZZZZ/**nope*/ {/**nope*/}

/**Javadoc*/ //noise
abstract/**nope*/ @Component2/**nope*/ interface/**nope*/ YYYY/**nope*/ {/**nope*/}

///////////
// ENUMS //
///////////

/**Javadoc*/ //noise
enum/**nope*/ VVVVV/**nope*/ {}

class VSZ {
	/**Javadoc*/ //noise
	private/**nope*/ enum/**nope*/ NNNNN/**nope*/ {/**nope*/}

	/**Javadoc*/ //noise
	@Component2/**nope*/ enum/**nope*/ XXXXX/**nope*/ {/**nope*/}

	/**Javadoc*/ //noise
	@Component2/**nope*/ private/**nope*/ enum/**nope*/ ZZZZZ/**nope*/ {/**nope*/}

	/**Javadoc*/ //noise
	private/**nope*/ @Component2/**nope*/ enum/**nope*/ YYYYY/**nope*/ {/**nope*/}
}

////////////
// FIELDS //
////////////

class VVVVVV {
	/**Javadoc*/ //noise
	int/**nope*/ a/**nope*/;
	/**Javadoc*/ //noise
	private/**nope*/ int/**nope*/ b/**nope*/;
	/**Javadoc*/ //noise
	private/**nope*/ final/**nope*/ int/**nope*/ c/**nope*/=1;
	/**Javadoc*/ //noise
	private/**nope*/ static/**nope*/ final/**nope*/ int/**nope*/ d/**nope*/=1;
}

class NNNNNN {
	/**Javadoc*/ //noise
	int/**nope*/ a/**nope*/=/**nope*/1/**nope*/;
	/**Javadoc*/ //noise
	private/**nope*/ int/**nope*/ b/**nope*/=/**nope*/1/**nope*/;
	/**Javadoc*/ //noise
	private/**nope*/ final/**nope*/ int/**nope*/ c/**nope*/=/**nope*/1/**nope*/;
	/**Javadoc*/ //noise
	private/**nope*/ static/**nope*/ final/**nope*/ int/**nope*/ d/**nope*/=/**nope*/1/**nope*/;
}


class XXXXXX {
	/**Javadoc*/ //noise
	Object/**nope*/ a/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
	/**Javadoc*/ //noise
	private/**nope*/ Object/**nope*/ b/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
	/**Javadoc*/ //noise
	private/**nope*/ final/**nope*/ Object/**nope*/ c/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
	/**Javadoc*/ //noise
	private/**nope*/ static/**nope*/ final/**nope*/ Object/**nope*/ d/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
}

class ZZZZZZ {
	/**Javadoc*/ //noise
	@Component2/**nope*/ Object/**nope*/ a/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
	/**Javadoc*/ //noise
	@Component2/**nope*/ private/**nope*/ Object/**nope*/ b/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
	/**Javadoc*/ //noise
	@Component2/**nope*/ private/**nope*/ final/**nope*/ Object/**nope*/ c/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
	/**Javadoc*/ //noise
	@Component2/**nope*/ private/**nope*/ static/**nope*/ final/**nope*/ Object/**nope*/ d/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
}

class YYYYYY {
	/*noise*/ /**Javadoc*/ //noise
	private/**nope*/ @Component2/**nope*/ Object/**nope*/ b/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
	/**Javadoc*/ //noise
	private/**nope*/ @Component2/**nope*/ final/**nope*/ Object/**nope*/ c/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
	/**Javadoc*/ //noise
	private/**nope*/ @Component2/**nope*/ static/**nope*/ final/**nope*/ Object/**nope*/ d/**nope*/ =/**nope*/ new/**nope*/ Object/**nope*/(/**nope*/)/**nope*/{/**nope*/}/**nope*/;
}

/////////////////
// ENUM CONSTS //
/////////////////

enum VVVVVVV {
	/**Javadoc*/ //noise
	ONY/**nope*/,
	/**Javadoc*/ //noise
	TWO/**nope*/
}

enum NNNNNNN {
	/**Javadoc*/ /*noise*/ //noise
	ONY/**nope*/(/**nope*/1/**nope*/)/**nope*/,
	/**Javadoc*/ //noise
	TWO/**nope*/(/**nope*/2/**nope*/)/**nope*/;
	NNNNNNN(int i){}
}

enum XXXXXXX {
	/**Javadoc*/ //noise
	@Component2/**nope*/ ONY/**nope*/(/**nope*/1/**nope*/)/**nope*/,
	/**Javadoc*/ //noise
	@Component2/**nope*/ TWO/**nope*/(/**nope*/2/**nope*/)/**nope*/;
	XXXXXXX(int i){}
}


/**Javadoc*/ //noise
@Retention(/**nope*/RetentionPolicy/**nope*/./**nope*/RUNTIME/**nope4*/)/**nope*/
@Target(/**nope*/{/**nope*/ElementType/**nope*/./**nope*/CONSTRUCTOR/**nope*/, /**nope*/ElementType/**nope*/./**nope*/FIELD/**nope*/
	, /**nope*/ElementType/**nope*/./**nope*/LOCAL_VARIABLE/**nope*/, /**nope*/ElementType/**nope*/./**nope*/METHOD
	, /**nope*/ElementType/**nope*/./**nope*/PARAMETER/**nope*/, /**nope*/ElementType/**nope*/./**nope*/TYPE/**nope*/}/**nope*/)/**nope*/
@interface/**nope*/ Component2/**nope*/ {/**nope*/
}

/**Javadoc*/ //noise
@interface/**nope*/ MyAnnotation2/**nope*/ {
	/**Javadoc*/ //noise
	@Component2/**nope*/abstract/**nope*/String/**nope*/val1()/**nope*/default/**nope*/"";
	/**Javadoc*/ //noise
	abstract/**nope*/String/**nope*/val2()/**nope*/;
	/**Javadoc*/ //noise
	java.lang.String/**nope*/val3()/**nope*/;
	/**nope*/
}

class MyTemp2 {
	/**Javadoc*/ //noise
	private @interface/**nope*/ MyAnnotation3/**nope*/ {/**nope*/
	}
}

/**nope*/ /*noise*/ /**nope*/ /**Javadoc*/ //noise
interface MultipleJavadocs2 {
	/**nope*/ /*noise*/ /**nope*/ /**Javadoc*/ //noise
	int method();
	/**nope*/ /*noise*/ /**nope*/ /**Javadoc*/ //noise
	@Deprecated
	/**nope*/ /*noise*/ /**nope*/ //noise
	public
	/**nope*/ /*noise*/ /**nope*/ //noise
	void method2();
}

/**nope*/
