Использование константы Enum в переключателе с CodeModel

Я использую API модели кода для создания исходных файлов Java. У меня есть enum, определенный через code model API, и я хочу использовать его в блоке переключателей. В операторе switch константы перечисления должны использоваться как неквалифицированные. У меня проблемы с доступом к неквалифицированному имени констант enum, так как API модели кода квалифицирует константы с именем класса enum.

Короче говоря, я хочу сгенерировать следующий фрагмент кода, используя API кодовой модели.

enum MyEnum {A,B};
MyEnum m = MyEnum.A;
switch (m){
   case A:
   //do something
   case B:
   //d0 something else
}

но Codemodel генерирует так

enum MyEnum {A,B};
MyEnum m = MyEnum.A;
switch (m){
    case MyEnum.A:
    //do something
    case MyEnum.B:
    //d0 something else
 }

Ценю твою помощь.

1 ответ

JExpr.ref("A") дает прямую ссылку на константу перечисления.

Другие вопросы по тегам