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;

/*
 * Config: JavadocCatchCheck
 */

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

/**Javadoc*/ /*noise*/ //noise
class/**nope*/ InputAbstractJavadocPositionWithSinglelineComments/**nope*/{ // ok
    /**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 MyTemp3 {
    /**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*/
