[leftovers] You shall not create an abstract enum

Remi Forax forax at univ-mlv.fr
Fri Apr 14 18:32:45 UTC 2017


While merging lvti and leftovers branches,
i had to merge manually JavacParser, doing that i've remarked this code

  enum FormalParameterKind {
        /* a formal lambda parameter
         */
        LAMBDA {
            @Override
            boolean isLambdaParameter() {
                return true;
            }
        },
        /* a formal catch clause parameter
         */
        CATCH,
        /* a formal method parameter
         */
        METHOD;

        boolean isLambdaParameter() {
            return false;
        }
    }

which can be written that way:
  enum FormalParameterKind {
        /* a formal lambda parameter
         */
        LAMBDA,
        /* a formal catch clause parameter
         */
        CATCH,
        /* a formal method parameter
         */
        METHOD;

        boolean isLambdaParameter() {
            return this == LAMBDA;
        }
    }
to avoid to spin an inner class.

RĂ©mi



More information about the amber-dev mailing list