Использование константы Enum в переключателе с CodeModel - PullRequest
1 голос
/ 16 июня 2011

Я использую API модели кода для создания исходных файлов Java. У меня есть enum, определенный через codemodel 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 Ответ

0 голосов
/ 16 июня 2011

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

...